├── .babelrc ├── .eslintignore ├── .eslintrc ├── .github └── workflows │ └── npm-publish-github-packages.yml ├── .gitignore ├── CHANGELOG-DESIGNER.md ├── CHANGELOG.md ├── LICENSE ├── README.md ├── assets └── icons │ ├── asterisk.js │ ├── attachment.js │ ├── check.js │ ├── chevron-down.js │ ├── chevron-up.js │ ├── cross-circle.js │ ├── index.js │ ├── minus-circle.js │ ├── plus-circle.js │ └── warning.js ├── common ├── array │ ├── helpers │ │ └── is-empty-item.js │ ├── index.js │ ├── list-array.scss │ └── views │ │ └── array-item.js ├── button │ └── index.js ├── buttons-toggle-group │ ├── buttons-toggle-group.scss │ └── index.js ├── columns │ ├── columns.scss │ └── index.js ├── currency │ ├── helpers │ │ └── index.js │ └── index.js ├── data │ ├── languages.json │ └── locales.js ├── divider │ ├── divider.scss │ └── index.js ├── group │ ├── group.scss │ └── index.js ├── hidden │ └── index.js ├── icon │ ├── common-icon.scss │ └── index.js ├── index.js ├── module │ └── index.js ├── object │ ├── index.js │ └── object.scss ├── placeholder-image │ ├── index.js │ └── placeholder-image.scss ├── placeholder │ ├── index.js │ └── placeholder.scss ├── react-view │ └── index.js ├── text-or-icon │ └── index.js ├── three-columns │ ├── index.js │ └── three-columns.scss └── two-columns │ ├── index.js │ └── two-columns.scss ├── components ├── antd-generic-date │ └── index.js ├── antd-select │ ├── index.js │ └── select.scss ├── asterisk │ └── index.js ├── bootstrap-generic-input │ └── index.js ├── generic-icon │ ├── generic-icon.js │ ├── generic-icon.scss │ └── index.js ├── i18n │ └── index.js ├── index.js ├── left-dots-with-fixed-right │ ├── index.js │ ├── left-dots-with-fixed-right.js │ └── left-dots-with-fixed-right.scss ├── mantine-generic-date │ └── index.js ├── mui-generic-date │ └── index.js ├── mui-generic-input │ └── index.js ├── mui-select │ └── index.js ├── plaintext-form │ ├── index.js │ ├── plaintext-form.js │ └── plaintext-form.scss ├── plaintext │ ├── index.js │ └── locales │ │ ├── element.json │ │ ├── elements.json │ │ ├── index.js │ │ ├── no-elements.json │ │ ├── no.json │ │ └── yes.json ├── react-generic-checkbox │ └── index.js ├── react-generic-input │ └── index.js ├── required-icon │ └── index.js ├── rsuite-field-control │ └── index.js ├── rsuite-generic-date │ ├── index.js │ └── rsuite-generic-date.scss └── validation-errors │ ├── index.js │ └── index.scss ├── costants.js ├── definitions ├── common.ts ├── react-antd.ts ├── react-bootstrap.ts ├── react-mantine.ts ├── react-material-ui.ts ├── react-rsuite5.ts └── react.ts ├── dist ├── generator-esm │ ├── attachment-BrGNPZ67.js │ ├── cross-circle-7zFvBcwY.js │ ├── dayjs.min-CeYWyiU5.js │ ├── generic-icon-BGnm2v0i.js │ ├── index--4Vdw0vX.js │ ├── index--9SfmvDe.js │ ├── index--VG7y3LY.js │ ├── index--ivgPdFm.js │ ├── index-2nc31HyL.js │ ├── index-3gf6H3Db.js │ ├── index-5xFjQOj6.js │ ├── index-8XnlIkqG.js │ ├── index-8YIzzD_e.js │ ├── index-8uOW3BqO.js │ ├── index-9wDpyhLT.js │ ├── index-B0kR30TL.js │ ├── index-B5AhN3OJ.js │ ├── index-B6SHFv8C.js │ ├── index-B97knASE.js │ ├── index-BBOzde_A.js │ ├── index-BB_vjJsy.js │ ├── index-BENXzyEV.js │ ├── index-BEd0aLjo.js │ ├── index-BEe1PhOC.js │ ├── index-BEijDoPr.js │ ├── index-BFgKTA8u.js │ ├── index-BFqzDCGQ.js │ ├── index-BL57-y1A.js │ ├── index-BMG0vXTY.js │ ├── index-BObXrHqL.js │ ├── index-BQ2dOXJA.js │ ├── index-BQCBDM58.js │ ├── index-BSFt5WZ7.js │ ├── index-BSpWzidU.js │ ├── index-BTFPPPry.js │ ├── index-BTq0wwyf.js │ ├── index-BWsaKp7T.js │ ├── index-BXR0fMUe.js │ ├── index-B_yDMX4E.js │ ├── index-BbKKBi_I.js │ ├── index-BdsDsnoJ.js │ ├── index-Beyq1_VP.js │ ├── index-BgPDr5iu.js │ ├── index-BgaFWIHx.js │ ├── index-BgeEgKcK.js │ ├── index-Bh0CYpbA.js │ ├── index-Bh8C1P0W.js │ ├── index-BkTj5OLb.js │ ├── index-BmCYODuW.js │ ├── index-BmFpx2bF.js │ ├── index-Bp6pyBb8.js │ ├── index-BpYAYUjr.js │ ├── index-Bq5NNf82.js │ ├── index-BqS8NERX.js │ ├── index-BrLJ5T2X.js │ ├── index-BsnabbIb.js │ ├── index-BtlNF-E-.js │ ├── index-BucGE2N2.js │ ├── index-BvP_CDl9.js │ ├── index-BvpvQBiz.js │ ├── index-Bvx2XYUS.js │ ├── index-BwZVuxzr.js │ ├── index-C0xFL03J.js │ ├── index-C2kdthCm.js │ ├── index-C3vPxMyi.js │ ├── index-C4-cqoeN.js │ ├── index-C5JZp-U9.js │ ├── index-C61mYIBs.js │ ├── index-C6Pz3ycK.js │ ├── index-C6QYXfgX.js │ ├── index-C7vnvOd5.js │ ├── index-C8HMttEg.js │ ├── index-C8zaFpRu.js │ ├── index-C9rdNNqL.js │ ├── index-CASiJ6xK.js │ ├── index-CByuasx0.js │ ├── index-CC9ZowbL.js │ ├── index-CD9DvFCV.js │ ├── index-CDaZRqEU.js │ ├── index-CDbjL_bR.js │ ├── index-CDcrNL-C.js │ ├── index-CEuES7O0.js │ ├── index-CFG3QjOA.js │ ├── index-CHOPzrg1.js │ ├── index-CImK_2V6.js │ ├── index-CJFiYlQ5.js │ ├── index-CKXmv5yu.js │ ├── index-COcf4bMr.js │ ├── index-COfkE9Vq.js │ ├── index-CQ3vEW-1.js │ ├── index-CRUyDxPI.js │ ├── index-CT6RK--H.js │ ├── index-CTG1NOOR.js │ ├── index-CVNfz9wD.js │ ├── index-CXPG5Ey-.js │ ├── index-CY2UEBcP.js │ ├── index-C_0Bj7id.js │ ├── index-CbS6t0Ms.js │ ├── index-CcaarvjQ.js │ ├── index-CdKcSz5Y.js │ ├── index-CeiWis_3.js │ ├── index-CgjZwYDy.js │ ├── index-Cifq0vh-.js │ ├── index-CmF86SBJ.js │ ├── index-Co2qT6Am.js │ ├── index-Cq1ZxkZA.js │ ├── index-Cq9VekHi.js │ ├── index-CrOGP2j4.js │ ├── index-CrRXMNlA.js │ ├── index-Cs0G2-cS.js │ ├── index-CuA1HrV8.js │ ├── index-CuI9_tDw.js │ ├── index-CuZJlLHS.js │ ├── index-Cuc-U3Gf.js │ ├── index-CvtkTtYf.js │ ├── index-CxWrVIfD.js │ ├── index-Cxl-I6hW.js │ ├── index-CyMG1Ev9.js │ ├── index-D1dq04-k.js │ ├── index-D3ege35t.js │ ├── index-D6DY8l5P.js │ ├── index-D6upPgXa.js │ ├── index-D7r22h9M.js │ ├── index-D8YXg5hQ.js │ ├── index-DALyqLE_.js │ ├── index-DAy-U2to.js │ ├── index-DB5o02qE.js │ ├── index-DCW72xQy.js │ ├── index-DDDT2kwK.js │ ├── index-DEbHDsN4.js │ ├── index-DIAZNmsY.js │ ├── index-DIFRXrIT.js │ ├── index-DIGy5Ycw.js │ ├── index-DLef9Fya.js │ ├── index-DLz-qnJ2.js │ ├── index-DO-UdOT3.js │ ├── index-DREHs3Q3.js │ ├── index-DURozYCh.js │ ├── index-DWq3-zYj.js │ ├── index-DakMvIT1.js │ ├── index-Dc7jawtL.js │ ├── index-De60FMwB.js │ ├── index-Df19TMKV.js │ ├── index-Dfo2AaC2.js │ ├── index-Dhzn5w31.js │ ├── index-DkRaybz0.js │ ├── index-DlQ79qgj.js │ ├── index-DmHMJzuz.js │ ├── index-DnZqbG2a.js │ ├── index-Dniy7wkT.js │ ├── index-DoodKR7P.js │ ├── index-DpIi5Fk0.js │ ├── index-DpiOfLsl.js │ ├── index-Dq2Yb09j.js │ ├── index-Dq9X7XMU.js │ ├── index-DsuYbwYb.js │ ├── index-Dt-j_2Lv.js │ ├── index-DtVEkOr2.js │ ├── index-DvfyVnjt.js │ ├── index-DyVEQBcP.js │ ├── index-E-Ka4Zk3.js │ ├── index-IVIW41hz.js │ ├── index-Ib1w5fL1.js │ ├── index-L5W0UDVw.js │ ├── index-L6H9JkaW.js │ ├── index-LwIgqolK.js │ ├── index-N2zSUMmF.js │ ├── index-Nk24RCyJ.js │ ├── index-OHa2ZKMX.js │ ├── index-SxGaRUd0.js │ ├── index-TQKTKWPN.js │ ├── index-UFtygJtT.js │ ├── index-W0Jn2dXM.js │ ├── index-WHfWpHq1.js │ ├── index-WZyrh4XC.js │ ├── index-YGBphOXC.js │ ├── index-_Jga1GFK.js │ ├── index-bdIYP-aH.js │ ├── index-dUIXMBjL.js │ ├── index-e-5mZgR2.js │ ├── index-e_lIO1L1.js │ ├── index-eoRBu-uI.js │ ├── index-ixQWv2c2.js │ ├── index-lOCRcb_k.js │ ├── index-mQWRQEyP.js │ ├── index-mX00-e55.js │ ├── index-pRF26NA4.js │ ├── index-qdM_b12a.js │ ├── index-rLxY2UYj.js │ ├── index-ufgw9aE9.js │ ├── index-x0GKr8rR.js │ ├── index-xUpSl9zN.js │ ├── index-xjj8BbJ3.js │ ├── index.js │ └── time-to-dayjs-time-Df0GOhRM.js ├── generator-umd │ └── main.js ├── react-antd-esm │ ├── dayjs.min-B91RDIzr.js │ ├── index--c3EZpSi.js │ ├── index-2K2IzTz-.js │ ├── index-A4VNaRG_.js │ ├── index-B8s1qliR.js │ ├── index-BA1Q8olc.js │ ├── index-BR_BZ1oX.js │ ├── index-Brm1zGrg.js │ ├── index-BxyRUnZX.js │ ├── index-CE9YyLLT.js │ ├── index-CR-tOL0F.js │ ├── index-CRVXLoSN.js │ ├── index-CTonLOVm.js │ ├── index-CaUtpgy1.js │ ├── index-ChH0YL3c.js │ ├── index-D1ODz0n5.js │ ├── index-DUAzDcKK.js │ ├── index-DUGlH8h5.js │ ├── index-DV_q2xvu.js │ ├── index-D_5lynQV.js │ ├── index-DfBLTMzt.js │ ├── index-DfNvUPlb.js │ ├── index-DjDLL-Zv.js │ ├── index-DsDaNAsd.js │ ├── index-DsUjs1vT.js │ ├── index-R3yW9K-O.js │ ├── index-R7dk2YfR.js │ ├── index-RWbhQlHC.js │ ├── index-Zo0isB6i.js │ ├── index-cIvBET59.js │ ├── index-d4OlR03V.js │ ├── index-gAKBF6Gd.js │ ├── index-i7O57QpT.js │ ├── index-lcP6poHo.js │ ├── index-phybJTe_.js │ ├── index-xhK_C-Nf.js │ └── index.js ├── react-antd-umd │ └── main.js ├── react-antd │ ├── 101-422d1b6ffab2cf219778.js │ ├── 101-422d1b6ffab2cf219778.map │ ├── 107-dc302ea525609d4d3b61.js │ ├── 107-dc302ea525609d4d3b61.map │ ├── 129-240d694ca0f843f403f5.js │ ├── 129-240d694ca0f843f403f5.map │ ├── 173-e5a5f3d832fa035c4855.js │ ├── 173-e5a5f3d832fa035c4855.map │ ├── 192-17839bec67e065635590.js │ ├── 192-17839bec67e065635590.map │ ├── 198-4328b1aab069ef4e7c86.js │ ├── 198-4328b1aab069ef4e7c86.map │ ├── 229-61b9e9fabe6ff36711f0.js │ ├── 229-61b9e9fabe6ff36711f0.map │ ├── 265-68de12779fb5c25a02f8.js │ ├── 265-68de12779fb5c25a02f8.map │ ├── 311-bc55241d83b31889bfec.js │ ├── 311-bc55241d83b31889bfec.map │ ├── 333-69819a0de98729369180.js │ ├── 333-69819a0de98729369180.map │ ├── 450-366b508d0ab42f8758d2.js │ ├── 450-366b508d0ab42f8758d2.map │ ├── 453-e5b460280965bded99fe.js │ ├── 453-e5b460280965bded99fe.map │ ├── 550-e6e78dab7a989677e4c9.js │ ├── 550-e6e78dab7a989677e4c9.map │ ├── 616-cf78bc83657cf111b4c5.js │ ├── 616-cf78bc83657cf111b4c5.map │ ├── 620-977b4dea5ef188f0f78e.js │ ├── 620-977b4dea5ef188f0f78e.map │ ├── 635-679e76c468d0f9cb7a10.js │ ├── 635-679e76c468d0f9cb7a10.map │ ├── 662-df3751d99102830b2d45.js │ ├── 662-df3751d99102830b2d45.map │ ├── 675-4fee1a575f9158ebffea.js │ ├── 675-4fee1a575f9158ebffea.map │ ├── 720-af57d5b33def8886c716.js │ ├── 720-af57d5b33def8886c716.map │ ├── 839-909220ce7c6e555d44d0.js │ ├── 839-909220ce7c6e555d44d0.map │ ├── 845-70abdf4136797ba56f17.js │ ├── 845-70abdf4136797ba56f17.map │ ├── 846-5da951545661746166df.js │ ├── 846-5da951545661746166df.map │ ├── 853-c0263d1434c35b4727dd.js │ ├── 853-c0263d1434c35b4727dd.map │ ├── 887-fa5b66f81158c8ee2697.js │ ├── 887-fa5b66f81158c8ee2697.map │ ├── 902-38b31d3d78e01f26c7d8.js │ ├── 902-38b31d3d78e01f26c7d8.map │ ├── 954-6fac567b08bc7ae35f77.js │ ├── 954-6fac567b08bc7ae35f77.map │ ├── 958-e889ef69ae3f3e84a4d0.js │ ├── 958-e889ef69ae3f3e84a4d0.map │ ├── lets-form-antd-07a6722ac93b54d24faf.map │ ├── main.js │ └── main.js.LICENSE.txt ├── react-bootstrap-esm │ ├── index-9_7w3GRH.js │ ├── index-B4NNOf2i.js │ ├── index-BAbWtpTX.js │ ├── index-BDkS-xKS.js │ ├── index-BVVq08TG.js │ ├── index-BXkaMfEr.js │ ├── index-BYvL-t5A.js │ ├── index-BcKKD3nq.js │ ├── index-Bgbf2PEf.js │ ├── index-C2uJheHG.js │ ├── index-C3-wx8jh.js │ ├── index-CB_N14Sa.js │ ├── index-CHlcM9nK.js │ ├── index-CLi13Pzp.js │ ├── index-CQk7_oYA.js │ ├── index-CtNLum0o.js │ ├── index-D5lVBI_l.js │ ├── index-DChpxL4N.js │ ├── index-DF4mlgOn.js │ ├── index-DGPDFTze.js │ ├── index-DPeSUu1q.js │ ├── index-DY9XwoCE.js │ ├── index-DYFdp2kr.js │ ├── index-DdZsKCmS.js │ ├── index-Ddzj5szk.js │ ├── index-L88BoVgD.js │ ├── index-ahxwLoQv.js │ ├── index-o74RMOAP.js │ ├── index-v-PXctBI.js │ └── index.js ├── react-bootstrap-umd │ └── main.js ├── react-bootstrap │ ├── 1-dab9efe0847de65135b0.js │ ├── 1-dab9efe0847de65135b0.map │ ├── 175-948250253a5e2df7d2a8.js │ ├── 175-948250253a5e2df7d2a8.map │ ├── 226-56c8b86a8e292543233f.js │ ├── 226-56c8b86a8e292543233f.map │ ├── 343-831ae5b54e949fd02393.js │ ├── 343-831ae5b54e949fd02393.map │ ├── 346-abb2a0904ad06066e2e8.js │ ├── 346-abb2a0904ad06066e2e8.map │ ├── 362-2cc1f9b80564235cd10c.js │ ├── 362-2cc1f9b80564235cd10c.map │ ├── 387-709ddc8bc9d2ce1ac21a.js │ ├── 387-709ddc8bc9d2ce1ac21a.map │ ├── 428-8bc8accd713b5b852abb.js │ ├── 428-8bc8accd713b5b852abb.map │ ├── 437-e385360c34ca09ab319d.js │ ├── 437-e385360c34ca09ab319d.map │ ├── 466-fd935e0f51e7df73c26c.js │ ├── 466-fd935e0f51e7df73c26c.js.LICENSE.txt │ ├── 466-fd935e0f51e7df73c26c.map │ ├── 487-e95a31b0dd04a0ed44fb.js │ ├── 487-e95a31b0dd04a0ed44fb.map │ ├── 495-e179b4c1fc99bc8eefab.js │ ├── 495-e179b4c1fc99bc8eefab.map │ ├── 551-67152fb190dd492e0c2d.js │ ├── 551-67152fb190dd492e0c2d.map │ ├── 654-25c4faa1610f372455c5.js │ ├── 654-25c4faa1610f372455c5.map │ ├── 744-ca9b8a3d77902aef3ee7.js │ ├── 744-ca9b8a3d77902aef3ee7.map │ ├── 806-caad097a5c499738925d.js │ ├── 806-caad097a5c499738925d.map │ ├── 820-ebf5c41ae22b2e3e39d2.js │ ├── 820-ebf5c41ae22b2e3e39d2.map │ ├── 823-113b7e30a9f7a6c3cd57.js │ ├── 823-113b7e30a9f7a6c3cd57.map │ ├── 830-ee25f0f612f7fea98f62.js │ ├── 830-ee25f0f612f7fea98f62.map │ ├── 835-271663ce0d62b3a77439.js │ ├── 835-271663ce0d62b3a77439.map │ ├── 879-699d093015dd8bde9f97.js │ ├── 879-699d093015dd8bde9f97.map │ ├── 91-f89ab289b5fd665ae727.js │ ├── 91-f89ab289b5fd665ae727.map │ ├── 934-f3d5229101e452daefc5.js │ ├── 934-f3d5229101e452daefc5.map │ ├── lets-form-bootstrap-a228c2414d59fc136759.map │ ├── main.js │ └── main.js.LICENSE.txt ├── react-esm │ ├── index-5_Q9HnJm.js │ ├── index-6hxNdvY4.js │ ├── index-9rWQIp1D.js │ ├── index-BIsljCGw.js │ ├── index-BJxxV7mx.js │ ├── index-BRU6cju3.js │ ├── index-BS7Qg8pU.js │ ├── index-Bv6yQNho.js │ ├── index-BxlP6aQx.js │ ├── index-Bz3IF9R7.js │ ├── index-C9D18Us8.js │ ├── index-CFxlaZRo.js │ ├── index-CvoE_QQX.js │ ├── index-D6TBOLRP.js │ ├── index-DSlwgxZP.js │ ├── index-DWIkPe8_.js │ ├── index-DXChKI_O.js │ ├── index-DZpCpPoN.js │ ├── index-DhpkeDqD.js │ ├── index-DqbcWIg1.js │ ├── index-UkWZkAWt.js │ ├── index-UmQJAebV.js │ ├── index-rG_UcDnP.js │ ├── index-snfKVPr5.js │ ├── index-wX0VRsKD.js │ └── index.js ├── react-mantine-esm │ ├── index--2EqpSHG.js │ ├── index-6pRTHIuW.js │ ├── index-8aX1vt1d.js │ ├── index-B1ne2swZ.js │ ├── index-B3J9Krck.js │ ├── index-B4lG5S_Q.js │ ├── index-BCc5aynN.js │ ├── index-BGRiG6OV.js │ ├── index-BP3pB0Sd.js │ ├── index-BPN-jBNf.js │ ├── index-BRD3fyuz.js │ ├── index-BUp7cGaN.js │ ├── index-BX6Fjd9O.js │ ├── index-BY_psVHl.js │ ├── index-Bag180Ol.js │ ├── index-BbHYu7t_.js │ ├── index-Bd73NFae.js │ ├── index-BdvQV1ig.js │ ├── index-Bgw663QL.js │ ├── index-BjrQSB1P.js │ ├── index-BoSYuaYT.js │ ├── index-BpHbDilJ.js │ ├── index-Bxc2uayh.js │ ├── index-BzhZUl2M.js │ ├── index-C1k6A1PC.js │ ├── index-C411VSZZ.js │ ├── index-CBXNotkq.js │ ├── index-CEYXKouF.js │ ├── index-CJ3tWko4.js │ ├── index-CL5_vgta.js │ ├── index-CMfc9CCo.js │ ├── index-CQl84PnC.js │ ├── index-CTS4Pt9h.js │ ├── index-CTxMSXG1.js │ ├── index-Cbk6IkI2.js │ ├── index-CraxfkJa.js │ ├── index-CtwaKsYf.js │ ├── index-D7imIxdJ.js │ ├── index-DFJJ4o5D.js │ ├── index-DLdYirby.js │ ├── index-DO3rqxNi.js │ ├── index-DRO9NbVf.js │ ├── index-DUCDiPCt.js │ ├── index-DV5osLQJ.js │ ├── index-DeGtTbKX.js │ ├── index-Dg-iAB-Q.js │ ├── index-Dij9CbSf.js │ ├── index-Dn2t9eZJ.js │ ├── index-DvwT1W8m.js │ ├── index-DxTUHSDs.js │ ├── index-DzIvd3fg.js │ ├── index-ICUuCzTp.js │ ├── index-ISzt8F4g.js │ ├── index-L4yXUL1_.js │ ├── index-LXGx3gvi.js │ ├── index-ONiD6g1d.js │ ├── index-P2X6RfIj.js │ ├── index-f3Mc2xg0.js │ ├── index-fBKs8SR6.js │ ├── index-fb6ykb_h.js │ ├── index-fjHpBidZ.js │ ├── index-jGaP1sVf.js │ ├── index-m-N5oEAx.js │ ├── index-sRTTFrxb.js │ └── index.js ├── react-mantine-umd │ ├── assets │ │ ├── output-BGI5hif4.css │ │ ├── output-BJxnmDaj.css │ │ ├── output-CKGzzIQP.css │ │ ├── output-ClTdkwmu.css │ │ └── output-DIMEkxZ4.css │ ├── main.css │ └── main.js ├── react-material-ui-esm │ ├── dayjs.min-RdQ3i7HH.js │ ├── index-8kHHg1xe.js │ ├── index-B29pV9yO.js │ ├── index-BainX1Bv.js │ ├── index-BbdWv2od.js │ ├── index-BfX_aXok.js │ ├── index-BjasK2fG.js │ ├── index-BnynhMlA.js │ ├── index-C-CD6EJ3.js │ ├── index-C-_vbVYM.js │ ├── index-C1N4bdri.js │ ├── index-CDzH4oKz.js │ ├── index-CFGSXzvp.js │ ├── index-CN2slcYS.js │ ├── index-CQ73VYwI.js │ ├── index-CYpvl7_0.js │ ├── index-CrNDjt4x.js │ ├── index-Cs5yLKgY.js │ ├── index-Cy5bk__b.js │ ├── index-DAAYSSTI.js │ ├── index-DAp2QrwL.js │ ├── index-DBK0RU50.js │ ├── index-DFa2K87A.js │ ├── index-DJ3Q1Yyt.js │ ├── index-DZUuIJ-j.js │ ├── index-DbEk1bSP.js │ ├── index-DexkmMJh.js │ ├── index-DjpHr6YK.js │ ├── index-DzVzNwXV.js │ ├── index-XwdqiZdk.js │ ├── index-gtUECJWZ.js │ ├── index-ivPVANN5.js │ ├── index-lJLLsx0E.js │ ├── index-rr6396Tp.js │ ├── index-t_4ngMnv.js │ └── index.js ├── react-material-ui-umd │ └── main.js ├── react-material-ui │ ├── 148-c4f5bf8be75a91a14b32.js │ ├── 148-c4f5bf8be75a91a14b32.map │ ├── 155-059cd0445e458b820e6e.js │ ├── 155-059cd0445e458b820e6e.map │ ├── 243-191b63cad3125566eeef.js │ ├── 243-191b63cad3125566eeef.map │ ├── 249-5f20274a8733a5affebf.js │ ├── 249-5f20274a8733a5affebf.map │ ├── 262-a295ca365ad804e447c4.js │ ├── 262-a295ca365ad804e447c4.map │ ├── 27-4ffa2ae951999ac6a466.js │ ├── 27-4ffa2ae951999ac6a466.map │ ├── 294-6bd137a16bd17f29eb1f.js │ ├── 294-6bd137a16bd17f29eb1f.map │ ├── 312-579a1673dd32c5926108.js │ ├── 312-579a1673dd32c5926108.map │ ├── 394-576070789a850d464354.js │ ├── 394-576070789a850d464354.map │ ├── 462-9bac22e631cde4a09bd7.js │ ├── 462-9bac22e631cde4a09bd7.map │ ├── 520-7b1a0453a937152316e0.js │ ├── 520-7b1a0453a937152316e0.map │ ├── 523-f5344d74086ab1a06693.js │ ├── 523-f5344d74086ab1a06693.map │ ├── 54-a57fa8bede024476cd24.js │ ├── 54-a57fa8bede024476cd24.map │ ├── 568-96491a403d13c6b4f057.js │ ├── 568-96491a403d13c6b4f057.map │ ├── 571-2209f47465680d5165bf.js │ ├── 571-2209f47465680d5165bf.map │ ├── 642-d2e1f265f19436c0840b.js │ ├── 642-d2e1f265f19436c0840b.map │ ├── 660-67219df1fa3db3461deb.js │ ├── 660-67219df1fa3db3461deb.map │ ├── 691-c20c6a5e0f44e4b4ef4a.js │ ├── 691-c20c6a5e0f44e4b4ef4a.map │ ├── 706-8ca44cc5814644012dce.js │ ├── 706-8ca44cc5814644012dce.map │ ├── 89-66154dd83ca69b3a72cc.js │ ├── 89-66154dd83ca69b3a72cc.map │ ├── 904-b09eb333d2f76e616c0a.js │ ├── 904-b09eb333d2f76e616c0a.map │ ├── 922-01ae9d6c2ae5524d0348.js │ ├── 922-01ae9d6c2ae5524d0348.map │ ├── 943-e8b3a3f21b30e793e42d.js │ ├── 943-e8b3a3f21b30e793e42d.map │ ├── 958-5dbac0793602edd23fab.js │ ├── 958-5dbac0793602edd23fab.map │ ├── 982-281005d5b003e592c2de.js │ ├── 982-281005d5b003e592c2de.map │ ├── lets-form-material-ui-3c048c3eaeedeb4633dc.map │ ├── main.js │ └── main.js.LICENSE.txt ├── react-rsuite5-esm │ ├── index-0iU28twU.js │ ├── index-0yRINGRr.js │ ├── index-3aHKanhW.js │ ├── index-B5E1ZLJh.js │ ├── index-B917foGW.js │ ├── index-BN2drruH.js │ ├── index-BPI_q3Re.js │ ├── index-BQ2vPUSv.js │ ├── index-BW9qrY3T.js │ ├── index-Bfm0zCI4.js │ ├── index-Bl9OIU23.js │ ├── index-BlWzO0ra.js │ ├── index-BpYJeWi0.js │ ├── index-BsXVRkkQ.js │ ├── index-Bu8On0jQ.js │ ├── index-CTGdU_9-.js │ ├── index-CUsujnKB.js │ ├── index-CWw0xr91.js │ ├── index-C_SrbJqi.js │ ├── index-Ck9Q9C50.js │ ├── index-Cl-80o8g.js │ ├── index-ClWijdQO.js │ ├── index-CultecOL.js │ ├── index-CxXr3W4R.js │ ├── index-D2jHV178.js │ ├── index-DBcIxZnM.js │ ├── index-DGoeffJz.js │ ├── index-DJEOsjE0.js │ ├── index-DM2Jw47j.js │ ├── index-DOs-yadL.js │ ├── index-DZDkpq5z.js │ ├── index-DbvT92pb.js │ ├── index-DoELNLN6.js │ ├── index-PddxIsOf.js │ ├── index-ah761E8h.js │ ├── index-nJQ5Xi5Q.js │ ├── index-rQkBSIyi.js │ ├── index-wOPVO6SK.js │ ├── index-wkNsRJ3y.js │ ├── index-xfXOfUvS.js │ └── index.js ├── react-rsuite5-umd │ └── main.js ├── react-rsuite5 │ ├── 131-48000d91cb0a9342eb39.js │ ├── 131-48000d91cb0a9342eb39.map │ ├── 138-be0ac088f7d78369cad1.js │ ├── 138-be0ac088f7d78369cad1.map │ ├── 163-d8cccd6de5dc37f6c3f1.js │ ├── 163-d8cccd6de5dc37f6c3f1.map │ ├── 215-043499c935b0f33d4de3.js │ ├── 215-043499c935b0f33d4de3.map │ ├── 258-f8314a9c8ca127a3b86d.js │ ├── 258-f8314a9c8ca127a3b86d.map │ ├── 264-04e495575bcdcc76b95c.js │ ├── 264-04e495575bcdcc76b95c.map │ ├── 317-d3f6cc53b51ba9585242.js │ ├── 317-d3f6cc53b51ba9585242.map │ ├── 339-c9e526591707a8396e48.js │ ├── 339-c9e526591707a8396e48.map │ ├── 356-581d66632be5f811abd7.js │ ├── 356-581d66632be5f811abd7.map │ ├── 4-14bd3056d2a037ff1417.js │ ├── 4-14bd3056d2a037ff1417.map │ ├── 429-f9a665536a45a01d5e26.js │ ├── 429-f9a665536a45a01d5e26.map │ ├── 458-349fc6ed7edf24e3fccc.js │ ├── 458-349fc6ed7edf24e3fccc.map │ ├── 459-bfa85ce959db79235d82.js │ ├── 459-bfa85ce959db79235d82.map │ ├── 501-6e86e7687f38680de223.js │ ├── 501-6e86e7687f38680de223.map │ ├── 55-91623d857ad7969a251b.js │ ├── 55-91623d857ad7969a251b.map │ ├── 559-a81da5cdb122a3221063.js │ ├── 559-a81da5cdb122a3221063.map │ ├── 564-ef5ed6e898915cf2e962.js │ ├── 564-ef5ed6e898915cf2e962.map │ ├── 581-19dfc2d6e6461b666846.js │ ├── 581-19dfc2d6e6461b666846.map │ ├── 612-3400f41a41d090f8aef7.js │ ├── 612-3400f41a41d090f8aef7.map │ ├── 616-251fe9abbc8d8fcde38a.js │ ├── 616-251fe9abbc8d8fcde38a.map │ ├── 693-c4ade099d7c1e1d1f4e7.js │ ├── 693-c4ade099d7c1e1d1f4e7.map │ ├── 729-1ca7a6a8df5120c6252e.js │ ├── 729-1ca7a6a8df5120c6252e.map │ ├── 75-ce7fbf35e38e7d61f610.js │ ├── 75-ce7fbf35e38e7d61f610.map │ ├── 780-d492b705a63f9a5726e1.js │ ├── 780-d492b705a63f9a5726e1.map │ ├── 842-6ed3ad7b5f33793792ec.js │ ├── 842-6ed3ad7b5f33793792ec.map │ ├── 854-942b8d0ba7f1d78d10e3.js │ ├── 854-942b8d0ba7f1d78d10e3.map │ ├── 946-6ba995d1df52559c6ee0.js │ ├── 946-6ba995d1df52559c6ee0.map │ ├── 974-0c21712738ab897b8560.js │ ├── 974-0c21712738ab897b8560.map │ ├── 978-a0385a88169d57fb0df8.js │ ├── 978-a0385a88169d57fb0df8.map │ ├── 980-9aee716cb4c905304a26.js │ ├── 980-9aee716cb4c905304a26.map │ ├── 998-78b160ce6e44c13085a6.js │ ├── 998-78b160ce6e44c13085a6.map │ ├── lets-form-rsuite5-1906b79e6495ab8d6e61.map │ ├── main.js │ └── main.js.LICENSE.txt ├── react-umd │ └── main.js ├── react │ ├── 105-71e1a3da5c605b23dacc.js │ ├── 105-71e1a3da5c605b23dacc.map │ ├── 145-02e2df9e41ff774d6139.js │ ├── 145-02e2df9e41ff774d6139.map │ ├── 179-c10909bbf0e339ad73fd.js │ ├── 179-c10909bbf0e339ad73fd.map │ ├── 206-7c627f7ede9734f15027.js │ ├── 206-7c627f7ede9734f15027.map │ ├── 264-3a20f118b211b5ca1d06.js │ ├── 264-3a20f118b211b5ca1d06.map │ ├── 320-d02e3f1e50736e265703.js │ ├── 320-d02e3f1e50736e265703.map │ ├── 469-ef607067ab6669ba66a5.js │ ├── 469-ef607067ab6669ba66a5.map │ ├── 480-1a6dd0d100d827e44a84.js │ ├── 480-1a6dd0d100d827e44a84.map │ ├── 481-dbdb3c682a823e16abab.js │ ├── 481-dbdb3c682a823e16abab.map │ ├── 629-439bc6dac52cc887c992.js │ ├── 629-439bc6dac52cc887c992.map │ ├── 735-86c1520d6336b0d99dfa.js │ ├── 735-86c1520d6336b0d99dfa.map │ ├── 748-59cc3b3ef3370fb3b127.js │ ├── 748-59cc3b3ef3370fb3b127.map │ ├── 784-55e5ed68128157227e4e.js │ ├── 784-55e5ed68128157227e4e.map │ ├── 838-05eb8e05d60b0e307424.js │ ├── 838-05eb8e05d60b0e307424.map │ ├── 849-6e2bd9ea63b31e75267d.js │ ├── 849-6e2bd9ea63b31e75267d.map │ ├── 977-175367dbc465c9192b77.js │ ├── 977-175367dbc465c9192b77.map │ ├── 989-672cd6ef85ea454f71ba.js │ ├── 989-672cd6ef85ea454f71ba.map │ ├── lets-form-react-0cf327db37168f0a4a3c.map │ ├── main.js │ └── main.js.LICENSE.txt ├── utils-esm │ └── index.js ├── utils-umd │ └── main.js └── utils │ ├── lets-form │ └── utils-3257323b96a5d7b7e315.map │ └── main.js ├── form-context ├── index.js └── placeholder.txt ├── generator ├── helpers │ ├── collect-transformers.js │ ├── dsl.js │ ├── error-to-string.js │ ├── form-fields.js │ ├── form-validation.js │ ├── make-transformer.js │ ├── merge-components.js │ ├── missing-component.js │ ├── proxy-fetch.js │ ├── references.js │ ├── render-fields.js │ └── upgrade-fields.js ├── index.js └── index.scss ├── helpers ├── apply-form-rules.js ├── apply-transformers.js ├── cleanup.js ├── collect-names.js ├── connectors │ ├── air-table.js │ ├── form-carry.js │ ├── form-spark-io.js │ ├── get-form-io.js │ ├── http-call.js │ ├── iftt.js │ ├── index.js │ ├── notion.js │ └── zapier.js ├── fields-keys.js ├── fill-ids.js ├── filter-fields.js ├── filter-options.js ├── find-field.js ├── form-has-components.js ├── form-helper.js ├── format-bytes.js ├── get-locales.js ├── i18n-options.js ├── i18n.js ├── index-export.js ├── index.js ├── is-children-of.js ├── is-empty-form.js ├── is-i18n.js ├── is-url.js ├── is-valid-date.js ├── is-valid-dayjs-format.js ├── is-valid-time.js ├── lazy-preload.js ├── lf-log.js ├── make-class-name.js ├── make-width-style.js ├── map-fields.js ├── merge-fields.js ├── omit-fields.js ├── pass-rest.js ├── reduce-fields.js ├── replace-field.js ├── some-fields.js ├── time-to-dayjs-time.js ├── today-with-time.js ├── try-parse-date-dayjs.js ├── validate-form.js └── wrap-on-change.js ├── hooks ├── index.js └── placeholder.txt ├── icons └── icons │ ├── asterisk.js │ ├── check.js │ ├── chevron-down.js │ ├── chevron-up.js │ ├── cross-circle.js │ ├── index.js │ ├── minus-circle.js │ ├── plus-circle.js │ └── warning.js ├── index.js ├── libs └── micro-down.js ├── manifest.json ├── mappings.json ├── package-lock.json ├── package.json ├── react-antd.d.ts ├── react-antd ├── array │ ├── array.scss │ └── index.js ├── button │ ├── button.scss │ └── index.js ├── buttons-toggle-group │ └── index.js ├── checkbox-group │ └── index.js ├── checkbox │ └── index.js ├── columns │ └── index.js ├── currency │ └── index.js ├── date │ └── index.js ├── datetime │ └── index.js ├── form │ ├── index.js │ └── index.scss ├── group │ ├── group.scss │ └── index.js ├── index.d.ts ├── index.js ├── input-number │ └── index.js ├── input-text │ ├── index.js │ └── input-text.scss ├── multiselect │ └── index.js ├── object │ └── index.js ├── placeholder-image │ └── index.js ├── placeholder │ └── index.js ├── radio-group │ └── index.js ├── rate │ └── index.js ├── react-view │ └── index.js ├── select │ └── index.js ├── slider │ └── index.js ├── steps │ ├── index.js │ ├── steps.js │ └── steps.scss ├── tabs │ ├── index.js │ └── tabs.scss ├── textarea │ └── index.js ├── three-columns │ ├── index.js │ └── three-columns.scss ├── time │ └── index.js ├── toggle │ └── index.js ├── two-columns │ ├── index.js │ └── two-columns.scss └── upload │ ├── index.js │ └── upload.scss ├── react-bootstrap.d.ts ├── react-bootstrap ├── array │ └── index.js ├── button │ ├── button.scss │ └── index.js ├── checkbox-group │ └── index.js ├── checkbox │ └── index.js ├── columns │ └── index.js ├── currency │ └── index.js ├── date │ └── index.js ├── datetime │ └── index.js ├── form │ ├── index.js │ └── index.scss ├── group │ └── index.js ├── index.d.ts ├── index.js ├── input-number │ └── index.js ├── input-text │ └── index.js ├── object │ └── index.js ├── placeholder-image │ └── index.js ├── placeholder │ └── index.js ├── radio-group │ └── index.js ├── react-view │ └── index.js ├── select │ └── index.js ├── slider │ └── index.js ├── tabs │ ├── index.js │ └── tabs.scss ├── textarea │ └── index.js ├── three-columns │ └── index.js ├── toggle │ └── index.js └── two-columns │ └── index.js ├── react-mantine.d.ts ├── react-mantine ├── array │ ├── index.js │ └── list-array.scss ├── button │ ├── button.scss │ └── index.js ├── checkbox-group │ └── index.js ├── checkbox │ └── index.js ├── columns │ └── index.js ├── currency │ └── index.js ├── date │ └── index.js ├── datetime │ └── index.js ├── form │ ├── form.scss │ └── index.js ├── group │ ├── fields-group.scss │ └── index.js ├── index.d.ts ├── index.js ├── input-number │ └── index.js ├── input-tag │ └── index.js ├── input-text │ └── index.js ├── multiselect │ └── index.js ├── object │ └── index.js ├── placeholder-image │ └── index.js ├── placeholder │ └── index.js ├── radio-group │ └── index.js ├── rate │ └── index.js ├── select │ └── index.js ├── slider │ └── index.js ├── steps │ ├── index.js │ └── steps.scss ├── tabs │ ├── index.js │ └── tabs.scss ├── textarea │ └── index.js ├── three-columns │ ├── index.js │ └── three-columns.scss ├── time │ ├── clock.js │ └── index.js ├── toggle │ └── index.js ├── two-columns │ ├── index.js │ └── two-columns.scss └── upload │ └── index.js ├── react-material-ui.d.ts ├── react-material-ui ├── array │ ├── array.scss │ └── index.js ├── button │ ├── button.scss │ └── index.js ├── checkbox-group │ └── index.js ├── checkbox │ └── index.js ├── columns │ └── index.js ├── currency │ └── index.js ├── date │ └── index.js ├── datetime │ └── index.js ├── form │ ├── index.js │ └── index.scss ├── group │ └── index.js ├── index.d.ts ├── index.js ├── input-number │ └── index.js ├── input-text │ └── index.js ├── multiselect │ └── index.js ├── object │ └── index.js ├── placeholder-image │ └── index.js ├── placeholder │ └── index.js ├── radio-group │ └── index.js ├── rate │ └── index.js ├── react-view │ └── index.js ├── select │ └── index.js ├── slider │ └── index.js ├── tabs │ ├── index.js │ └── tabs.scss ├── textarea │ └── index.js ├── three-columns │ └── index.js ├── time │ └── index.js ├── toggle │ └── index.js ├── two-columns │ └── index.js └── upload │ ├── file-item.js │ ├── index.js │ ├── upload.js │ └── upload.scss ├── react-rsuite5.d.ts ├── react-rsuite5 ├── array │ ├── index.js │ └── list-array.scss ├── button │ ├── button.scss │ └── index.js ├── buttons-toggle-group │ ├── buttons-toggle-group.scss │ └── index.js ├── checkbox-group │ └── index.js ├── checkbox │ ├── index.js │ └── index.scss ├── columns │ └── index.js ├── currency │ └── index.js ├── date │ └── index.js ├── datetime │ └── index.js ├── divider │ └── index.js ├── form │ ├── index.js │ └── index.scss ├── group │ ├── fields-group.scss │ └── index.js ├── index.d.ts ├── index.js ├── input-mask │ └── index.js ├── input-number │ ├── index.js │ └── index.scss ├── input-tag │ ├── index.js │ └── index.scss ├── input-text-i18n │ ├── index.js │ └── index.scss ├── input-text │ ├── index.js │ └── input-text.scss ├── module │ └── index.js ├── multiselect │ └── index.js ├── object │ └── index.js ├── placeholder-image │ └── index.js ├── placeholder │ └── index.js ├── radio-group │ └── index.js ├── radio-tile │ └── index.js ├── rate │ └── index.js ├── react-view │ └── index.js ├── select │ ├── index.js │ └── select.scss ├── slider │ ├── index.js │ └── index.scss ├── steps │ ├── index.js │ └── steps.scss ├── tabs │ ├── index.js │ └── tabs.scss ├── textarea │ └── index.js ├── three-columns │ ├── index.js │ └── three-columns.scss ├── time │ └── index.js ├── toggle │ └── index.js ├── two-columns │ ├── index.js │ └── two-columns.scss └── upload │ ├── index.js │ └── upload.scss ├── react.d.ts ├── react ├── array │ ├── array.scss │ └── index.js ├── button │ ├── button.js │ ├── button.scss │ └── index.js ├── checkbox │ └── index.js ├── columns │ └── index.js ├── currency │ ├── index.js │ └── input-text.scss ├── date │ └── index.js ├── datetime │ └── index.js ├── form │ ├── index.js │ └── index.scss ├── group │ └── index.js ├── index.d.ts ├── index.js ├── input-number │ └── index.js ├── input-text │ ├── index.js │ └── input-text.scss ├── object │ └── index.js ├── placeholder-image │ └── index.js ├── placeholder │ └── index.js ├── react-view │ └── index.js ├── select │ └── index.js ├── textarea │ └── index.js ├── three-columns │ └── index.js ├── time │ └── index.js ├── toggle │ └── index.js ├── two-columns │ └── index.js └── upload │ ├── file-item.js │ ├── index.js │ ├── upload.js │ └── upload.scss ├── rollup.config.mjs ├── schemas ├── react-antd │ ├── fields.json │ └── form.json ├── react-bootstrap │ ├── fields.json │ └── form.json ├── react-mantine │ ├── fields.json │ └── form.json ├── react-material-ui │ ├── fields.json │ └── form.json ├── react-rsuite5 │ ├── fields.json │ └── form.json └── react │ ├── fields.json │ └── form.json └── scripts ├── assets └── logo-ext@3x.png ├── clear-builds.js ├── copy-all-files.sh ├── stash-node-modules.sh └── unstash-node-modules.sh /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-react", 4 | [ 5 | "@babel/preset-env", 6 | { 7 | "targets": { 8 | "browsers": "last 2 versions" 9 | }, 10 | "modules": false, 11 | "loose": false 12 | } 13 | ] 14 | ], 15 | "plugins": [ 16 | "transform-class-properties", 17 | "babel-plugin-lodash" 18 | ], 19 | "env": { 20 | "test": { 21 | "plugins": [ 22 | "transform-es2015-modules-commonjs" 23 | ] 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | node_modules_stashed -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "es2021": true 5 | }, 6 | "extends": "eslint:recommended", 7 | "parserOptions": { 8 | "ecmaVersion": "latest", 9 | "sourceType": "module" 10 | } 11 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | node_modules_stashed 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /assets/icons/asterisk.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const Asterisk = ({ width = 24, height = 24, color = '#000000', style }) => ( 4 | 12 | 13 | 16 | 17 | 18 | ); 19 | -------------------------------------------------------------------------------- /assets/icons/attachment.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const IconAttachment = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | ); 13 | -------------------------------------------------------------------------------- /assets/icons/check.js: -------------------------------------------------------------------------------- 1 | export const IconCheck = ({ width = 24, height = 24 }) => ( 2 | 3 | 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /assets/icons/chevron-down.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const ChevronDown = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /assets/icons/chevron-up.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const ChevronUp = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /assets/icons/cross-circle.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const CrossCirle = ({ width = 24, height = 24, color = '#000000', yOffset = 0 }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /assets/icons/index.js: -------------------------------------------------------------------------------- 1 | export * from './plus-circle'; 2 | export * from './minus-circle'; 3 | export * from './chevron-down'; 4 | export * from './chevron-up'; 5 | export * from './asterisk'; 6 | export * from './warning'; 7 | export * from './cross-circle'; 8 | export * from './check'; 9 | -------------------------------------------------------------------------------- /assets/icons/minus-circle.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const MinusCircle = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); -------------------------------------------------------------------------------- /assets/icons/plus-circle.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const PlusCircle = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /assets/icons/warning.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const Warning = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); -------------------------------------------------------------------------------- /common/array/helpers/is-empty-item.js: -------------------------------------------------------------------------------- 1 | export const isEmptyItem = (obj) => { 2 | return Object 3 | .keys(obj) 4 | .filter(key => key !== 'id') 5 | .every(key => obj[key] === null || obj[key] === undefined || obj[key] === ''); 6 | }; 7 | -------------------------------------------------------------------------------- /common/buttons-toggle-group/buttons-toggle-group.scss: -------------------------------------------------------------------------------- 1 | .lf-control-button-toggle-group { 2 | .lf-control-button { 3 | display: inline-block; 4 | margin-top: 0px !important; 5 | 6 | &:not(:first-child) { 7 | margin-left: var(--lf-field-button-margin); 8 | } 9 | 10 | &.lf-full-width { 11 | // if a button is full width, ensure it has a flex 1 and inner element is width 100% 12 | flex: 1 0; 13 | &> * { 14 | width: 100% !important; 15 | } 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /common/columns/columns.scss: -------------------------------------------------------------------------------- 1 | .lf-control-columns { 2 | display: flex; 3 | flex-direction: row; 4 | flex-wrap: wrap; 5 | justify-content: flex-start; 6 | align-content: stretch; 7 | align-items: stretch; 8 | 9 | .lf-column { 10 | flex: 1 0; 11 | align-self: auto; 12 | margin-right: var(--lf-field-column-margin); 13 | 14 | &:last-child { 15 | margin-right: 0px; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /common/divider/divider.scss: -------------------------------------------------------------------------------- 1 | .lf-control-divider { 2 | min-height: 15px; 3 | font-size: 1px; 4 | display: flex; 5 | 6 | 7 | .bar { 8 | width: 100%; 9 | margin-top: 5px; 10 | margin-bottom: 5px; 11 | } 12 | } -------------------------------------------------------------------------------- /common/divider/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import './divider.scss'; 4 | import { lfLog } from '../../helpers/lf-log'; 5 | 6 | import { makeClassName } from '../../helpers/make-class-name'; 7 | 8 | const Divider = ({ 9 | name, 10 | size, 11 | className, 12 | color 13 | }) => { 14 | return ( 15 |
16 |
23 | &npsb; 24 |
25 |
26 | ); 27 | }; 28 | lfLog('Loaded Common.Divider'); 29 | 30 | export default Divider; 31 | -------------------------------------------------------------------------------- /common/hidden/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | import { makeClassName } from '../../helpers/make-class-name'; 5 | 6 | const Hidden = ({ name }) => ( 7 |
Hidden field: {name}
11 | ); 12 | lfLog('Loaded RSuite5.Hidden'); 13 | 14 | export default Hidden; 15 | -------------------------------------------------------------------------------- /common/icon/common-icon.scss: -------------------------------------------------------------------------------- 1 | .lf-common-icon { 2 | img { 3 | max-width: 32px; 4 | max-height: 32px; 5 | } 6 | 7 | &.small { 8 | img { 9 | max-width: 24px; 10 | max-height: 24px; 11 | 12 | } 13 | } 14 | 15 | &.large { 16 | img { 17 | max-width: 40px; 18 | max-height: 40px; 19 | } 20 | } 21 | } -------------------------------------------------------------------------------- /common/icon/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable jsx-a11y/anchor-is-valid */ 2 | import React from 'react'; 3 | import classNames from 'classnames'; 4 | 5 | import './common-icon.scss'; 6 | 7 | 8 | const CommonIcon = ({ src, className, alt, onClick, size }) => { 9 | 10 | return ( 11 |
19 | { 22 | e.preventDefault(); 23 | onClick(); 24 | }} 25 | > 26 | {alt}/ 27 | 28 |
29 | ) 30 | }; 31 | 32 | export { CommonIcon }; 33 | -------------------------------------------------------------------------------- /common/index.js: -------------------------------------------------------------------------------- 1 | export * from './placeholder'; 2 | export * from './three-columns'; 3 | export * from './two-columns'; 4 | export * from './group'; 5 | export * from './placeholder-image'; 6 | export * from './text-or-icon'; 7 | export * from './divider'; 8 | export * from './react-view'; 9 | export * from './array'; 10 | export * from './icon'; 11 | export * from './button'; 12 | export * from './buttons-toggle-group'; 13 | -------------------------------------------------------------------------------- /common/placeholder-image/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { makeClassName } from '../../helpers/make-class-name'; 4 | 5 | import './placeholder-image.scss'; 6 | 7 | const PlaceholderImage = ({ 8 | url, 9 | label, 10 | name, 11 | maxWidth, 12 | maxHeight, 13 | marginTop, 14 | marginBottom, 15 | className, 16 | align 17 | }) => { 18 | return ( 19 |
25 | {url && ( 26 | {label 37 | )} 38 |
39 | ); 40 | }; 41 | 42 | export { PlaceholderImage }; 43 | -------------------------------------------------------------------------------- /common/placeholder-image/placeholder-image.scss: -------------------------------------------------------------------------------- 1 | .lf-control-placeholder-image { 2 | min-height: 20px; 3 | 4 | } -------------------------------------------------------------------------------- /common/placeholder/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import isEmpty from 'lodash/isEmpty'; 3 | 4 | import { microdown } from '../../libs/micro-down'; 5 | import { makeClassName } from '../../helpers/make-class-name'; 6 | 7 | import './placeholder.scss'; 8 | 9 | const Placeholder = ({ text, name, className }) => { 10 | if (!isEmpty(text)) { 11 | return ( 12 |
16 | ); 17 | } else { 18 | return
; 19 | } 20 | }; 21 | 22 | export { Placeholder }; 23 | -------------------------------------------------------------------------------- /common/placeholder/placeholder.scss: -------------------------------------------------------------------------------- 1 | .lf-control-placeholder { 2 | ol, ul { 3 | padding-left: 1rem; 4 | } 5 | } 6 | 7 | .lf-form .lf-control-placeholder:not(:first-child) { 8 | margin-top: var(--lf-field-margin-top); 9 | } -------------------------------------------------------------------------------- /common/react-view/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { makeClassName } from '../../helpers/make-class-name'; 4 | 5 | const ReactView = ({ 6 | name, 7 | view, 8 | className, 9 | ...rest 10 | }) => { 11 | const View = view; 12 | 13 | return ( 14 |
15 | {View && ( 16 | 20 | )} 21 |
22 | ); 23 | }; 24 | 25 | export { ReactView }; 26 | -------------------------------------------------------------------------------- /common/text-or-icon/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { isUrl } from '../../helpers'; 4 | 5 | export const TextOrIcon = str => { 6 | if (isUrl(str)) { 7 | return ( 8 | icon 9 | ); 10 | } else if (str) { 11 | return {str}; 12 | } 13 | }; -------------------------------------------------------------------------------- /common/two-columns/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import _ from 'lodash'; 3 | import classNames from 'classnames'; 4 | 5 | import './two-columns.scss'; 6 | 7 | const TwoColumns = ({ 8 | name, 9 | children, 10 | layout, 11 | leftAlignment, 12 | rightAlignment 13 | }) => { 14 | return ( 15 |
16 |
20 | {_.isFunction(children) && children('left')} 21 |
22 |
26 | {_.isFunction(children) && children('right')} 27 |
28 |
29 | ); 30 | }; 31 | 32 | export { TwoColumns }; 33 | -------------------------------------------------------------------------------- /components/antd-select/select.scss: -------------------------------------------------------------------------------- 1 | 2 | .lf-control-select-option-antd { 3 | img { 4 | width: 20px; 5 | max-width: 20px; 6 | max-height: 20px; 7 | vertical-align: middle; 8 | margin-top: -2px; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /components/asterisk/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | //import { FaAsterisk } from 'react-icons/fa'; 4 | 5 | //const Asterisk = () => ; 6 | 7 | const Asterisk = () =>
*
; 8 | 9 | export { Asterisk }; 10 | -------------------------------------------------------------------------------- /components/generic-icon/generic-icon.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import classNames from 'classnames'; 3 | 4 | const GenericIcon = ({ icon, size }) => ( 5 | 6 | ); 7 | 8 | export { GenericIcon }; 9 | -------------------------------------------------------------------------------- /components/generic-icon/generic-icon.scss: -------------------------------------------------------------------------------- 1 | .lf-generic-icon { 2 | max-width: 16px; 3 | max-height: 16px; 4 | 5 | &.lg { 6 | max-width: 20px; 7 | max-height: 20px; 8 | } 9 | 10 | .xs { 11 | max-width: 12px; 12 | max-height: 12px; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /components/generic-icon/index.js: -------------------------------------------------------------------------------- 1 | import './generic-icon.scss'; 2 | 3 | export * from './generic-icon'; -------------------------------------------------------------------------------- /components/index.js: -------------------------------------------------------------------------------- 1 | export * from './validation-errors'; 2 | export * from './required-icon'; 3 | export * from './i18n'; 4 | // WARNING: do not import framework specific component here or it will 5 | // include UI library into a wrong package (i.e., rsuite into lets-form/antd) 6 | -------------------------------------------------------------------------------- /components/left-dots-with-fixed-right/index.js: -------------------------------------------------------------------------------- 1 | export * from './left-dots-with-fixed-right'; 2 | -------------------------------------------------------------------------------- /components/left-dots-with-fixed-right/left-dots-with-fixed-right.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import './left-dots-with-fixed-right.scss'; 4 | 5 | /** 6 | * LetfDotsWithFixedRight 7 | * Layout component to have a fixed view on the right and a expandable view on the left 8 | * which takes all remaining space and show ellipsis if the text overflows 9 | * @param {*} param0 10 | * @returns 11 | */ 12 | const LetfDotsWithFixedRight = ({ left, right }) => { 13 | return ( 14 |
15 |
{left}
16 |
{right}
17 |
18 | ); 19 | }; 20 | 21 | export { LetfDotsWithFixedRight }; 22 | -------------------------------------------------------------------------------- /components/left-dots-with-fixed-right/left-dots-with-fixed-right.scss: -------------------------------------------------------------------------------- 1 | .lf-left-dots-with-fixed-right { 2 | display: flex; 3 | width: inherit; 4 | overflow: hidden; 5 | 6 | .lf-left-dots { 7 | flex: 1 0; 8 | white-space: nowrap; 9 | overflow: hidden; 10 | text-overflow: ellipsis; 11 | max-width: 100%; 12 | } 13 | 14 | .lf-right-fixed { 15 | flex: 0 0; 16 | white-space: nowrap; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /components/plaintext-form/index.js: -------------------------------------------------------------------------------- 1 | export * from './plaintext-form'; -------------------------------------------------------------------------------- /components/plaintext-form/plaintext-form.scss: -------------------------------------------------------------------------------- 1 | .lf-form-plaintext { 2 | font-size: var(--lf-font-size); 3 | 4 | .lf-plaintext-field-label { 5 | font-weight: 600; 6 | color: #333333; 7 | } 8 | 9 | .plaintext-value:empty::before { 10 | content: "-"; 11 | } 12 | } -------------------------------------------------------------------------------- /components/plaintext/locales/index.js: -------------------------------------------------------------------------------- 1 | import YesLabel from './yes.json'; 2 | import NoLabel from './no.json'; 3 | import ElementLabel from './element.json'; 4 | import ElementsLabel from './elements.json'; 5 | import NoElementsLabel from './no-elements.json'; 6 | 7 | export { YesLabel, NoLabel, ElementLabel, ElementsLabel, NoElementsLabel }; 8 | -------------------------------------------------------------------------------- /components/required-icon/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { Asterisk } from '../../assets/icons'; 4 | 5 | const RequiredIcon = () => ( 6 | 12 | ); 13 | 14 | export { RequiredIcon }; 15 | -------------------------------------------------------------------------------- /components/rsuite-field-control/index.js: -------------------------------------------------------------------------------- 1 | import React, { useRef, useEffect } from 'react'; 2 | 3 | import { Whisper, Popover } from 'rsuite'; 4 | 5 | const POPOVER_STYLE = { 6 | padding: '6px', 7 | color: '#ff6633' 8 | }; 9 | 10 | const RSuite5FieldControl = ({ errorMessage, children }) => { 11 | const triggerRef = useRef(); 12 | 13 | useEffect( 14 | () => { 15 | if (errorMessage) { 16 | triggerRef.current.open(); 17 | } else { 18 | triggerRef.current.close(); 19 | } 20 | }, 21 | [errorMessage] 22 | ); 23 | 24 | return ( 25 |
{errorMessage}
} 34 | >{children}
35 | ); 36 | } 37 | 38 | export { RSuite5FieldControl }; 39 | -------------------------------------------------------------------------------- /components/rsuite-generic-date/rsuite-generic-date.scss: -------------------------------------------------------------------------------- 1 | .lf-control-date { 2 | &.lf-full-width { 3 | // if full width, expand the picker to 100%, otherwise it's just a fraction of the space 4 | .rs-picker-date { 5 | width: 100%; 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /components/validation-errors/index.scss: -------------------------------------------------------------------------------- 1 | .lf-validation-errors { 2 | border: 1px solid #eebdd2; 3 | background-color: #ffddd2; 4 | padding: 15px; 5 | color: #000000; 6 | 7 | &.bottom { 8 | margin-top: 15px; 9 | } 10 | 11 | &.top { 12 | margin-bottom: 15px; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /costants.js: -------------------------------------------------------------------------------- 1 | export const FRAMEWORKS = [ 2 | 'react', 3 | 'react-rsuite5', 4 | 'react-material-ui', 5 | 'react-bootstrap', 6 | 'react-antd', 7 | 'react-mantine' 8 | ]; 9 | 10 | export const FRAMEWORKS_LABELS = [ 11 | 'React', 12 | 'React + RSuite5', 13 | 'React + MaterialUI', 14 | 'React + Bootstrap', 15 | 'React + Ant Design', 16 | 'React + Mantine' 17 | ]; 18 | 19 | export const FIELDS_KEY = ['fields', 'leftFields', 'rightField', 'centerFields']; 20 | -------------------------------------------------------------------------------- /dist/generator-esm/generic-icon-BGnm2v0i.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { s as styleInject, u as classNames } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | 5 | var css_248z = ".lf-generic-icon {\n max-width: 16px;\n max-height: 16px;\n}\n.lf-generic-icon.lg {\n max-width: 20px;\n max-height: 20px;\n}\n.lf-generic-icon .xs {\n max-width: 12px;\n max-height: 12px;\n}"; 6 | styleInject(css_248z); 7 | 8 | var GenericIcon = function GenericIcon(_ref) { 9 | var icon = _ref.icon, 10 | size = _ref.size; 11 | return /*#__PURE__*/React.createElement("img", { 12 | className: classNames("lf-generic-icon", { 13 | size: size 14 | }), 15 | src: icon 16 | }); 17 | }; 18 | 19 | export { GenericIcon as G }; 20 | -------------------------------------------------------------------------------- /dist/generator-esm/index--4Vdw0vX.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { s as styleInject, G as Group, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | var css_248z = ".lf-form-react-antd .lf-control-group .ant-form-item:last-child {\n margin-bottom: 0px;\n}"; 6 | styleInject(css_248z); 7 | 8 | lfLog('Loaded AntD.Group'); 9 | 10 | export { Group as default }; 11 | -------------------------------------------------------------------------------- /dist/generator-esm/index-8YIzzD_e.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { _ as _objectWithoutProperties, m as makeClassName, a as _extends } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | 5 | var _excluded = ["name", "view", "className"]; 6 | var ReactView = function ReactView(_ref) { 7 | var name = _ref.name, 8 | view = _ref.view, 9 | className = _ref.className, 10 | rest = _objectWithoutProperties(_ref, _excluded); 11 | var View = view; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('react-view', name, className), View && /*#__PURE__*/React.createElement(View, _extends({ 13 | name: name 14 | }, rest))); 15 | }; 16 | 17 | export { ReactView as R }; 18 | -------------------------------------------------------------------------------- /dist/generator-esm/index-B0kR30TL.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-BMG0vXTY.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { d as ThreeColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded React.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-BQ2dOXJA.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { d as ThreeColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-BSpWzidU.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { R as ReactView } from './index-8YIzzD_e.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded AntD.ReactView'); 7 | 8 | export { ReactView as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-BTFPPPry.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { d as ThreeColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-BTq0wwyf.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { s as styleInject, I as I18N, l as lfLog, _ as _objectWithoutProperties, a as _extends } from './index-Df19TMKV.js'; 3 | import React, { useCallback } from 'react'; 4 | import { R as ReactGenericInput } from './index-B97knASE.js'; 5 | import './index-DvfyVnjt.js'; 6 | 7 | var css_248z = ".lf-form-react .lf-control-input-text input[type=color] {\n min-width: 60px;\n}"; 8 | styleInject(css_248z); 9 | 10 | var _excluded = ["onChange"]; 11 | var TextInput = I18N(function (_ref) { 12 | var onChange = _ref.onChange, 13 | rest = _objectWithoutProperties(_ref, _excluded); 14 | var handleChange = useCallback(function (e) { 15 | return onChange(e.target.value); 16 | }, [onChange]); 17 | return /*#__PURE__*/React.createElement(ReactGenericInput, _extends({ 18 | component: "input-text", 19 | onChange: handleChange 20 | }, rest)); 21 | }, ['label', 'hint', 'placeholder']); 22 | lfLog('Loaded React.InputText'); 23 | 24 | export { TextInput as default }; 25 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Beyq1_VP.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded Mantine.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Bh8C1P0W.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { R as ReactView } from './index-8YIzzD_e.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded React.ReactView'); 7 | 8 | export { ReactView as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-BqS8NERX.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { a as _extends, m as makeClassName, l as lfLog } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | 5 | var Hidden = function Hidden(_ref) { 6 | var name = _ref.name; 7 | return /*#__PURE__*/React.createElement("div", _extends({}, makeClassName('hidden', name), { 8 | style: { 9 | padding: '10px' 10 | } 11 | }), "Hidden field: ", /*#__PURE__*/React.createElement("em", null, name)); 12 | }; 13 | lfLog('Loaded RSuite5.Hidden'); 14 | 15 | export { Hidden as default }; 16 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Bvx2XYUS.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-C0xFL03J.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import { P as Placeholder } from './index-C2kdthCm.js'; 4 | import { I as I18N, l as lfLog, m as makeClassName } from './index-Df19TMKV.js'; 5 | 6 | var PlaceholderReact = I18N(function (_ref) { 7 | var name = _ref.name, 8 | label = _ref.label, 9 | hint = _ref.hint, 10 | text = _ref.text, 11 | className = _ref.className; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('placeholder', name, 'lf-form-react-control-group', className), label && /*#__PURE__*/React.createElement("label", { 13 | for: name 14 | }, label), /*#__PURE__*/React.createElement(Placeholder, { 15 | text: text 16 | }), hint && /*#__PURE__*/React.createElement("div", { 17 | className: "lf-form-react-message" 18 | }, hint)); 19 | }, ['label', 'hint', 'text']); 20 | lfLog('Loaded React.Placeholder'); 21 | 22 | export { PlaceholderReact as default }; 23 | -------------------------------------------------------------------------------- /dist/generator-esm/index-C5JZp-U9.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import Form from 'react-bootstrap/Form'; 4 | import { P as Placeholder } from './index-C2kdthCm.js'; 5 | import { I as I18N, l as lfLog, m as makeClassName } from './index-Df19TMKV.js'; 6 | 7 | var PlaceholderBootstrap = I18N(function (_ref) { 8 | var label = _ref.label, 9 | hint = _ref.hint, 10 | text = _ref.text, 11 | name = _ref.name, 12 | className = _ref.className; 13 | return /*#__PURE__*/React.createElement(Form.Group, makeClassName('placeholder', name, className), label && /*#__PURE__*/React.createElement(Form.Label, null, label), /*#__PURE__*/React.createElement(Placeholder, { 14 | text: text 15 | }), hint && /*#__PURE__*/React.createElement(Form.Text, null, hint)); 16 | }, ['label', 'hint', 'text']); 17 | lfLog('Loaded ReactBootrap.Placeholder'); 18 | 19 | export { PlaceholderBootstrap as default }; 20 | -------------------------------------------------------------------------------- /dist/generator-esm/index-C61mYIBs.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-C6Pz3ycK.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-C6QYXfgX.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded React.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CASiJ6xK.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CC9ZowbL.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { a as _extends, l as lfLog, W as LetsForm } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { C as CommonObject } from './index-WZyrh4XC.js'; 5 | 6 | var ReactMantineObject = function ReactMantineObject(props) { 7 | return /*#__PURE__*/React.createElement(CommonObject, _extends({ 8 | LetsFormComponent: LetsForm 9 | }, props)); 10 | }; 11 | lfLog('Loaded Mantine.Object'); 12 | 13 | export { ReactMantineObject as default }; 14 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CEuES7O0.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-COfkE9Vq.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CQ3vEW-1.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { I as I18N, l as lfLog, a as _extends, m as makeClassName } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { Form } from 'antd'; 5 | import { P as Placeholder } from './index-C2kdthCm.js'; 6 | 7 | var PlaceholderAntd = I18N(function (_ref) { 8 | var name = _ref.name, 9 | hint = _ref.hint, 10 | text = _ref.text, 11 | tooltip = _ref.tooltip, 12 | label = _ref.label, 13 | className = _ref.className; 14 | return /*#__PURE__*/React.createElement(Form.Item, _extends({}, makeClassName('placeholder', name, className), { 15 | label: label, 16 | help: hint && !tooltip ? hint : undefined, 17 | tooltip: tooltip && hint, 18 | valuePropName: null 19 | }), /*#__PURE__*/React.createElement(Placeholder, { 20 | text: text 21 | })); 22 | }, ['label', 'hint', 'text']); 23 | lfLog('Loaded AntD.Placeholder'); 24 | 25 | export { PlaceholderAntd as default }; 26 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CRUyDxPI.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded React.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CTG1NOOR.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { s as styleInject, T as TwoColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | var css_248z = ".lf-form-react-antd .lf-control-two-columns .ant-form-item:last-child {\n margin-bottom: 0px;\n}"; 6 | styleInject(css_248z); 7 | 8 | lfLog('Loaded AntD.TwoColumns'); 9 | 10 | export { TwoColumns as default }; 11 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CgjZwYDy.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { s as styleInject, d as ThreeColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | var css_248z = ".lf-form-react-antd .lf-control-three-columns .ant-form-item:last-child {\n margin-bottom: 0px;\n}"; 6 | styleInject(css_248z); 7 | 8 | lfLog('Loaded AntD.ThreeColumns'); 9 | 10 | export { ThreeColumns as default }; 11 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Cq9VekHi.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { a as _extends, l as lfLog, X as LetsForm } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { C as CommonObject } from './index-WZyrh4XC.js'; 5 | 6 | var ReactAntDObject = function ReactAntDObject(props) { 7 | return /*#__PURE__*/React.createElement(CommonObject, _extends({ 8 | LetsFormComponent: LetsForm 9 | }, props)); 10 | }; 11 | lfLog('Loaded AntD.Object'); 12 | 13 | export { ReactAntDObject as default }; 14 | -------------------------------------------------------------------------------- /dist/generator-esm/index-CvtkTtYf.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { d as ThreeColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.ThreeColumn'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DALyqLE_.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DB5o02qE.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { R as ReactView } from './index-8YIzzD_e.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded MUI.ReactView'); 7 | 8 | export { ReactView as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DCW72xQy.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DIFRXrIT.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { a as _extends, l as lfLog, W as LetsForm } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { C as CommonObject } from './index-WZyrh4XC.js'; 5 | 6 | var ReactBoostrapObject = function ReactBoostrapObject(props) { 7 | return /*#__PURE__*/React.createElement(CommonObject, _extends({ 8 | LetsFormComponent: LetsForm 9 | }, props)); 10 | }; 11 | lfLog('Loaded ReactBootstrap.Object'); 12 | 13 | export { ReactBoostrapObject as default }; 14 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DIGy5Ycw.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { P as PlaceholderImage } from './index-Cuc-U3Gf.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded RSuite5.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DLef9Fya.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { a as _extends, l as lfLog, L as LetsForm } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { C as CommonObject } from './index-WZyrh4XC.js'; 5 | 6 | var RSuite5Object = function RSuite5Object(props) { 7 | return /*#__PURE__*/React.createElement(CommonObject, _extends({ 8 | LetsFormComponent: LetsForm 9 | }, props)); 10 | }; 11 | lfLog('Loaded RSuite5.Object'); 12 | 13 | export { RSuite5Object as default }; 14 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DWq3-zYj.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { a as _extends, l as lfLog, V as LetsForm } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { C as CommonObject } from './index-WZyrh4XC.js'; 5 | 6 | var ReactObject = function ReactObject(props) { 7 | return /*#__PURE__*/React.createElement(CommonObject, _extends({ 8 | LetsFormComponent: LetsForm 9 | }, props)); 10 | }; 11 | lfLog('Loaded React.Object'); 12 | 13 | export { ReactObject as default }; 14 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Dc7jawtL.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { d as ThreeColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Dhzn5w31.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import React, { useRef, useEffect } from 'react'; 3 | import { Whisper, Popover } from 'rsuite'; 4 | 5 | var POPOVER_STYLE = { 6 | padding: '6px', 7 | color: '#ff6633' 8 | }; 9 | var RSuite5FieldControl = function RSuite5FieldControl(_ref) { 10 | var errorMessage = _ref.errorMessage, 11 | children = _ref.children; 12 | var triggerRef = useRef(); 13 | useEffect(function () { 14 | if (errorMessage) { 15 | triggerRef.current.open(); 16 | } else { 17 | triggerRef.current.close(); 18 | } 19 | }, [errorMessage]); 20 | return /*#__PURE__*/React.createElement(Whisper, { 21 | placement: "bottomStart", 22 | ref: triggerRef, 23 | trigger: "none", 24 | speaker: /*#__PURE__*/React.createElement(Popover, { 25 | style: POPOVER_STYLE, 26 | visible: !!errorMessage, 27 | className: "lf-react-rsuite5-error-popover" 28 | }, /*#__PURE__*/React.createElement("div", null, errorMessage)) 29 | }, children); 30 | }; 31 | 32 | export { RSuite5FieldControl as R }; 33 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DlQ79qgj.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import { x as isUrl } from './index-Df19TMKV.js'; 4 | 5 | var TextOrIcon = function TextOrIcon(str) { 6 | if (isUrl(str)) { 7 | return /*#__PURE__*/React.createElement("img", { 8 | className: "lf-prefix-icon", 9 | src: str, 10 | alt: "icon" 11 | }); 12 | } else if (str) { 13 | return /*#__PURE__*/React.createElement("span", null, str); 14 | } 15 | }; 16 | 17 | export { TextOrIcon as T }; 18 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DmHMJzuz.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { P as PlaceholderImage } from './index-Cuc-U3Gf.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded MUI.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Dniy7wkT.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DpiOfLsl.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { I as I18N, l as lfLog, a as _extends, m as makeClassName, i as i18nOptions } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { A as AntdGenericSelect } from './index-LwIgqolK.js'; 5 | import 'antd'; 6 | 7 | var SelectAntd = I18N(function (props) { 8 | return /*#__PURE__*/React.createElement(AntdGenericSelect, _extends({}, makeClassName('select', props.name, props.className), props)); 9 | }, ['label', 'hint', 'placeholder'], { 10 | options: i18nOptions 11 | }); 12 | lfLog('Loaded AntD.Select'); 13 | 14 | export { SelectAntd as default }; 15 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DsuYbwYb.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | import { R as ReactView } from './index-8YIzzD_e.js'; 5 | 6 | lfLog('Loaded ReactBootrap.ReactView'); 7 | 8 | export { ReactView as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-DyVEQBcP.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { P as PlaceholderImage } from './index-Cuc-U3Gf.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded AntD.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-IVIW41hz.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { I as I18N, l as lfLog, a as _extends, m as makeClassName } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { Input } from '@mantine/core'; 5 | import { P as Placeholder } from './index-C2kdthCm.js'; 6 | 7 | var PlaceholderMantine = I18N(function (_ref) { 8 | var name = _ref.name, 9 | label = _ref.label, 10 | hint = _ref.hint, 11 | text = _ref.text, 12 | className = _ref.className; 13 | return /*#__PURE__*/React.createElement(Input.Wrapper, _extends({}, makeClassName('placeholder', name, className), { 14 | description: hint, 15 | inputWrapperOrder: ['label', 'input', 'description', 'error'], 16 | label: label 17 | }), /*#__PURE__*/React.createElement(Placeholder, { 18 | text: text 19 | })); 20 | }, ['label', 'hint', 'text']); 21 | lfLog('Loaded Mantine.Placeholder'); 22 | 23 | export { PlaceholderMantine as default }; 24 | -------------------------------------------------------------------------------- /dist/generator-esm/index-Nk24RCyJ.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-W0Jn2dXM.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index-e_lIO1L1.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { I as I18N, l as lfLog, a as _extends, m as makeClassName, i as i18nOptions } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { A as AntdGenericSelect } from './index-LwIgqolK.js'; 5 | import 'antd'; 6 | 7 | var Multiselect = I18N(function (props) { 8 | return /*#__PURE__*/React.createElement(AntdGenericSelect, _extends({}, makeClassName('multiselect', props.name, props.className), { 9 | mode: "multiple" 10 | }, props)); 11 | }, ['label', 'hint', 'placeholder'], { 12 | options: i18nOptions 13 | }); 14 | lfLog('Loaded AntD.Multiselect'); 15 | 16 | export { Multiselect as default }; 17 | -------------------------------------------------------------------------------- /dist/generator-esm/index-eoRBu-uI.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { P as PlaceholderImage } from './index-Cuc-U3Gf.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded React.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-ixQWv2c2.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { P as PlaceholderImage } from './index-Cuc-U3Gf.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded Mantine.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-lOCRcb_k.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { R as ReactView } from './index-8YIzzD_e.js'; 3 | import { l as lfLog } from './index-Df19TMKV.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded RSuite5.ReactView'); 7 | 8 | export { ReactView as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-qdM_b12a.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | import { P as PlaceholderImage } from './index-Cuc-U3Gf.js'; 5 | 6 | lfLog('Loaded ReactBootrap.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/generator-esm/index-rLxY2UYj.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { a as _extends, l as lfLog, U as LetsForm } from './index-Df19TMKV.js'; 3 | import React from 'react'; 4 | import { C as CommonObject } from './index-WZyrh4XC.js'; 5 | 6 | var ReactMUIObject = function ReactMUIObject(props) { 7 | return /*#__PURE__*/React.createElement(CommonObject, _extends({ 8 | LetsFormComponent: LetsForm 9 | }, props)); 10 | }; 11 | lfLog('Loaded MUI.Object'); 12 | 13 | export { ReactMUIObject as default }; 14 | -------------------------------------------------------------------------------- /dist/generator-esm/index-ufgw9aE9.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/generator-esm/index.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | export { ab as Connectors, aB as FIELDS_KEY, az as FRAMEWORKS, aA as FRAMEWORKS_LABELS, $ as Fields, a0 as Forms, a5 as LfArray, a4 as LfColumn, a3 as LfColumns, a1 as LfField, a2 as LfGroup, aa as LfObject, a9 as LfStep, a8 as LfSteps, a7 as LfTab, a6 as LfTabs, ai as applyFormRules, an as applyTransformers, ae as cleanUp, ap as collectIds, K as collectNames, Z as default, M as fillIds, aj as filterFields, f as filterOptions, af as findField, aw as formHasComponents, ao as formHelper, ah as getFieldById, ak as getLocales, al as i18n, i as i18nOptions, aq as isChildrenOf, am as isEmptyForm, v as isI18n, x as isUrl, au as isValidArrayOfFields, ar as isValidConnector, j as isValidDate, R as isValidDayjsFormat, at as isValidField, as as isValidForm, P as isValidTime, c as makeWidthStyle, ad as mapFields, ax as omitFields, p as passRest, ag as reduceFields, ac as replaceField, ay as someFields, av as validateJSONForm } from './index-Df19TMKV.js'; 3 | import 'react'; 4 | -------------------------------------------------------------------------------- /dist/generator-esm/time-to-dayjs-time-Df0GOhRM.js: -------------------------------------------------------------------------------- 1 | /* LetsForm Generator v0.13.0 - ESM */ 2 | import { e as _slicedToArray } from './index-Df19TMKV.js'; 3 | import { d as dayjs } from './dayjs.min-CeYWyiU5.js'; 4 | 5 | var timeToDayJSTime = function timeToDayJSTime(str) { 6 | var _str$split = str.split(':'), 7 | _str$split2 = _slicedToArray(_str$split, 3), 8 | hours = _str$split2[0], 9 | minutes = _str$split2[1], 10 | seconds = _str$split2[2]; 11 | if (hours || minutes || seconds) { 12 | console.log('splittato ', hours, minutes, seconds); 13 | var d = dayjs(); 14 | if (hours) { 15 | d = d.hour(hours); 16 | } 17 | if (minutes) { 18 | d = d.minute(minutes); 19 | } 20 | if (seconds) { 21 | d = d.second(seconds); 22 | } 23 | return d; 24 | } 25 | return undefined; 26 | }; 27 | 28 | export { timeToDayJSTime as t }; 29 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-BR_BZ1oX.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { a as _extends, m as makeClassName, l as lfLog } from './index-B8s1qliR.js'; 3 | import React from 'react'; 4 | 5 | var Hidden = function Hidden(_ref) { 6 | var name = _ref.name; 7 | return /*#__PURE__*/React.createElement("div", _extends({}, makeClassName('hidden', name), { 8 | style: { 9 | padding: '10px' 10 | } 11 | }), "Hidden field: ", /*#__PURE__*/React.createElement("em", null, name)); 12 | }; 13 | lfLog('Loaded RSuite5.Hidden'); 14 | 15 | export { Hidden as default }; 16 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-Brm1zGrg.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { s as styleInject, j as TwoColumns, l as lfLog } from './index-B8s1qliR.js'; 3 | import 'react'; 4 | 5 | var css_248z = ".lf-form-react-antd .lf-control-two-columns .ant-form-item:last-child {\n margin-bottom: 0px;\n}"; 6 | styleInject(css_248z); 7 | 8 | lfLog('Loaded AntD.TwoColumns'); 9 | 10 | export { TwoColumns as default }; 11 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-CE9YyLLT.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { s as styleInject, T as ThreeColumns, l as lfLog } from './index-B8s1qliR.js'; 3 | import 'react'; 4 | 5 | var css_248z = ".lf-form-react-antd .lf-control-three-columns .ant-form-item:last-child {\n margin-bottom: 0px;\n}"; 6 | styleInject(css_248z); 7 | 8 | lfLog('Loaded AntD.ThreeColumns'); 9 | 10 | export { ThreeColumns as default }; 11 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-CaUtpgy1.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { I as I18N, l as lfLog, a as _extends, m as makeClassName, e as i18nOptions } from './index-B8s1qliR.js'; 3 | import React from 'react'; 4 | import { A as AntdGenericSelect } from './index-i7O57QpT.js'; 5 | import 'antd'; 6 | 7 | var SelectAntd = I18N(function (props) { 8 | return /*#__PURE__*/React.createElement(AntdGenericSelect, _extends({}, makeClassName('select', props.name, props.className), props)); 9 | }, ['label', 'hint', 'placeholder'], { 10 | options: i18nOptions 11 | }); 12 | lfLog('Loaded AntD.Select'); 13 | 14 | export { SelectAntd as default }; 15 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-DUAzDcKK.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-B8s1qliR.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-R3yW9K-O.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import { g as isUrl } from './index-B8s1qliR.js'; 4 | 5 | var TextOrIcon = function TextOrIcon(str) { 6 | if (isUrl(str)) { 7 | return /*#__PURE__*/React.createElement("img", { 8 | className: "lf-prefix-icon", 9 | src: str, 10 | alt: "icon" 11 | }); 12 | } else if (str) { 13 | return /*#__PURE__*/React.createElement("span", null, str); 14 | } 15 | }; 16 | 17 | export { TextOrIcon as T }; 18 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-RWbhQlHC.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { I as I18N, l as lfLog, a as _extends, m as makeClassName, e as i18nOptions } from './index-B8s1qliR.js'; 3 | import React from 'react'; 4 | import { A as AntdGenericSelect } from './index-i7O57QpT.js'; 5 | import 'antd'; 6 | 7 | var Multiselect = I18N(function (props) { 8 | return /*#__PURE__*/React.createElement(AntdGenericSelect, _extends({}, makeClassName('multiselect', props.name, props.className), { 9 | mode: "multiple" 10 | }, props)); 11 | }, ['label', 'hint', 'placeholder'], { 12 | options: i18nOptions 13 | }); 14 | lfLog('Loaded AntD.Multiselect'); 15 | 16 | export { Multiselect as default }; 17 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-gAKBF6Gd.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { _ as _objectWithoutProperties, m as makeClassName, a as _extends, l as lfLog } from './index-B8s1qliR.js'; 3 | import React from 'react'; 4 | 5 | var _excluded = ["name", "view", "className"]; 6 | var ReactView = function ReactView(_ref) { 7 | var name = _ref.name, 8 | view = _ref.view, 9 | className = _ref.className, 10 | rest = _objectWithoutProperties(_ref, _excluded); 11 | var View = view; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('react-view', name, className), View && /*#__PURE__*/React.createElement(View, _extends({ 13 | name: name 14 | }, rest))); 15 | }; 16 | 17 | lfLog('Loaded AntD.ReactView'); 18 | 19 | export { ReactView as default }; 20 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index-xhK_C-Nf.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | import { s as styleInject, G as Group, l as lfLog } from './index-B8s1qliR.js'; 3 | import 'react'; 4 | 5 | var css_248z = ".lf-form-react-antd .lf-control-group .ant-form-item:last-child {\n margin-bottom: 0px;\n}"; 6 | styleInject(css_248z); 7 | 8 | lfLog('Loaded AntD.Group'); 9 | 10 | export { Group as default }; 11 | -------------------------------------------------------------------------------- /dist/react-antd-esm/index.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-antd v0.13.0 - ESM */ 2 | export { R as Connectors, aj as FIELDS_KEY, ah as FRAMEWORKS, ai as FRAMEWORKS_LABELS, P as Fields, Q as Forms, ap as LfArray, ao as LfColumn, an as LfColumns, ak as LfField, al as LfGroup, am as LfObject, at as LfStep, as as LfSteps, ar as LfTab, aq as LfTabs, Z as applyFormRules, a5 as applyTransformers, V as cleanUp, a7 as collectIds, F as collectNames, L as default, H as fillIds, a0 as filterFields, h as filterOptions, W as findField, ae as formHasComponents, a6 as formHelper, Y as getFieldById, a1 as getLocales, a2 as i18n, e as i18nOptions, a8 as isChildrenOf, a3 as isEmptyForm, a4 as isI18n, g as isUrl, ac as isValidArrayOfFields, a9 as isValidConnector, i as isValidDate, $ as isValidDayjsFormat, ab as isValidField, aa as isValidForm, M as isValidTime, b as makeWidthStyle, U as mapFields, af as omitFields, p as passRest, X as reduceFields, S as replaceField, ag as someFields, au as traverseChildren, ad as validateJSONForm } from './index-B8s1qliR.js'; 3 | import 'react'; 4 | -------------------------------------------------------------------------------- /dist/react-antd/101-422d1b6ffab2cf219778.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_antd=this.webpackChunklets_form_antd||[]).push([[101],{6101:function(n,t,o){o.r(t),o.d(t,{default:function(){return Z}});var r=o(8727),a=o(8228),e=o(3379),s=o.n(e),l=o(7795),c=o.n(l),i=o(569),u=o.n(i),m=o(3565),d=o.n(m),f=o(9216),p=o.n(f),g=o(4589),h=o.n(g),A=o(5201),b={};b.styleTagTransform=h(),b.setAttributes=d(),b.insert=u().bind(null,"head"),b.domAPI=c(),b.insertStyleElement=p(),s()(A.Z,b),A.Z&&A.Z.locals&&A.Z.locals,(0,a.n)("Loaded AntD.Group");var Z=r.Z},5201:function(n,t,o){var r=o(7537),a=o.n(r),e=o(3645),s=o.n(e)()(a());s.push([n.id,".lf-form-react-antd .lf-control-group .ant-form-item:last-child{margin-bottom:0px}","",{version:3,sources:["webpack://./react-antd/group/group.scss"],names:[],mappings:"AAEI,gEACE,iBAAA",sourcesContent:[".lf-form-react-antd {\n .lf-control-group {\n .ant-form-item:last-child {\n margin-bottom: 0px;\n }\n }\n}"],sourceRoot:""}]),t.Z=s}}]); 2 | //# sourceMappingURL=101-422d1b6ffab2cf219778.map -------------------------------------------------------------------------------- /dist/react-antd/265-68de12779fb5c25a02f8.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_antd=this.webpackChunklets_form_antd||[]).push([[265],{9265:function(n,t,e){e.r(t),e.d(t,{default:function(){return C}});var o=e(7645),r=e(8228),s=e(3379),a=e.n(s),l=e(7795),c=e.n(l),m=e(569),i=e.n(m),u=e(3565),d=e.n(u),f=e(9216),h=e.n(f),p=e(4589),A=e.n(p),b=e(3730),k={};k.styleTagTransform=A(),k.setAttributes=d(),k.insert=i().bind(null,"head"),k.domAPI=c(),k.insertStyleElement=h(),a()(b.Z,k),b.Z&&b.Z.locals&&b.Z.locals,(0,r.n)("Loaded AntD.ThreeColumns");var C=o.$},3730:function(n,t,e){var o=e(7537),r=e.n(o),s=e(3645),a=e.n(s)()(r());a.push([n.id,".lf-form-react-antd .lf-control-three-columns .ant-form-item:last-child{margin-bottom:0px}","",{version:3,sources:["webpack://./react-antd/three-columns/three-columns.scss"],names:[],mappings:"AAEI,wEACE,iBAAA",sourcesContent:[".lf-form-react-antd {\n .lf-control-three-columns {\n .ant-form-item:last-child {\n margin-bottom: 0px;\n }\n }\n}"],sourceRoot:""}]),t.Z=a}}]); 2 | //# sourceMappingURL=265-68de12779fb5c25a02f8.map -------------------------------------------------------------------------------- /dist/react-antd/453-e5b460280965bded99fe.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_antd=this.webpackChunklets_form_antd||[]).push([[453],{5453:function(t,e,a){a.r(e);var n=a(8587);(0,a(8228).n)("Loaded AntD.PlaceholderImage"),e.default=n.N}}]); 2 | //# sourceMappingURL=453-e5b460280965bded99fe.map -------------------------------------------------------------------------------- /dist/react-antd/453-e5b460280965bded99fe.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"453-e5b460280965bded99fe.js","mappings":"2IAIAA,E,QAAAA,GAAM,gCAEN,UAAeC,EAAgB,C","sources":["webpack:///./react-antd/placeholder-image/index.js"],"sourcesContent":["import { PlaceholderImage } from '../../common/placeholder-image';\n\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded AntD.PlaceholderImage');\n\nexport default PlaceholderImage;\n"],"names":["lfLog","PlaceholderImage"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-antd/662-df3751d99102830b2d45.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_antd=this.webpackChunklets_form_antd||[]).push([[662],{4662:function(n,t,o){o.r(t),o.d(t,{default:function(){return k}});var s=o(963),a=o(8228),e=o(3379),r=o.n(e),l=o(7795),c=o.n(l),m=o(569),i=o.n(m),u=o(3565),d=o.n(u),f=o(9216),h=o.n(f),p=o(4589),A=o.n(p),w=o(3339),b={};b.styleTagTransform=A(),b.setAttributes=d(),b.insert=i().bind(null,"head"),b.domAPI=c(),b.insertStyleElement=h(),r()(w.Z,b),w.Z&&w.Z.locals&&w.Z.locals,(0,a.n)("Loaded AntD.TwoColumns");var k=s.V},3339:function(n,t,o){var s=o(7537),a=o.n(s),e=o(3645),r=o.n(e)()(a());r.push([n.id,".lf-form-react-antd .lf-control-two-columns .ant-form-item:last-child{margin-bottom:0px}","",{version:3,sources:["webpack://./react-antd/two-columns/two-columns.scss"],names:[],mappings:"AAEI,sEACE,iBAAA",sourcesContent:[".lf-form-react-antd {\n .lf-control-two-columns {\n .ant-form-item:last-child {\n margin-bottom: 0px;\n }\n }\n}"],sourceRoot:""}]),t.Z=r}}]); 2 | //# sourceMappingURL=662-df3751d99102830b2d45.map -------------------------------------------------------------------------------- /dist/react-antd/853-c0263d1434c35b4727dd.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_antd=this.webpackChunklets_form_antd||[]).push([[853],{5853:function(t,e,a){a.r(e);var n=a(8169);(0,a(8228).n)("Loaded AntD.ReactView"),e.default=n.Y}}]); 2 | //# sourceMappingURL=853-c0263d1434c35b4727dd.map -------------------------------------------------------------------------------- /dist/react-antd/853-c0263d1434c35b4727dd.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"853-c0263d1434c35b4727dd.js","mappings":"2IAGAA,E,QAAAA,GAAM,yBAEN,UAAeC,EAAS,C","sources":["webpack:///./react-antd/react-view/index.js"],"sourcesContent":["import { ReactView } from '../../common/react-view';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded AntD.ReactView');\n\nexport default ReactView;\n"],"names":["lfLog","ReactView"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-antd/887-fa5b66f81158c8ee2697.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_antd=this.webpackChunklets_form_antd||[]).push([[887],{4887:function(e,t,l){l.r(t);var a=l(8156),n=l.n(a),o=l(5656),r=l.n(o),c=l(1782),i=l(9111),d=l(8228),h=(0,i.mb)((function(e){var t=e.name,l=e.hint,a=e.text,o=e.tooltip,i=e.label;return n().createElement(r().Item,{label:i,"data-lf-field-name":t,help:l&&!o?l:void 0,tooltip:o&&l,className:"lf-control-placeholder"},n().createElement(c.Vm,{text:a}))}),["label","hint","text"]);(0,d.n)("Loaded AntD.Placeholder"),t.default=h}}]); 2 | //# sourceMappingURL=887-fa5b66f81158c8ee2697.map -------------------------------------------------------------------------------- /dist/react-antd/902-38b31d3d78e01f26c7d8.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_antd=this.webpackChunklets_form_antd||[]).push([[902],{3902:function(t,e,n){n.r(e);var a=n(1782);(0,n(8228).n)("Loaded AntD.Divider"),e.default=a.iz}}]); 2 | //# sourceMappingURL=902-38b31d3d78e01f26c7d8.map -------------------------------------------------------------------------------- /dist/react-antd/902-38b31d3d78e01f26c7d8.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"902-38b31d3d78e01f26c7d8.js","mappings":"2IAGAA,E,QAAAA,GAAM,uBAEN,UAAeC,EAAO,E","sources":["webpack:///./react-antd/divider/index.js"],"sourcesContent":["import { Divider } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded AntD.Divider');\n\nexport default Divider;"],"names":["lfLog","Divider"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-antd/main.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ 8 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index-B4NNOf2i.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-L88BoVgD.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index-CLi13Pzp.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import { J as isUrl } from './index-L88BoVgD.js'; 4 | 5 | var TextOrIcon = function TextOrIcon(str) { 6 | if (isUrl(str)) { 7 | return /*#__PURE__*/React.createElement("img", { 8 | className: "lf-prefix-icon", 9 | src: str, 10 | alt: "icon" 11 | }); 12 | } else if (str) { 13 | return /*#__PURE__*/React.createElement("span", null, str); 14 | } 15 | }; 16 | 17 | export { TextOrIcon as T }; 18 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index-CtNLum0o.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-L88BoVgD.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index-DGPDFTze.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | import { _ as _objectWithoutProperties, m as makeClassName, a as _extends, l as lfLog } from './index-L88BoVgD.js'; 3 | import React from 'react'; 4 | 5 | var _excluded = ["name", "view", "className"]; 6 | var ReactView = function ReactView(_ref) { 7 | var name = _ref.name, 8 | view = _ref.view, 9 | className = _ref.className, 10 | rest = _objectWithoutProperties(_ref, _excluded); 11 | var View = view; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('react-view', name, className), View && /*#__PURE__*/React.createElement(View, _extends({ 13 | name: name 14 | }, rest))); 15 | }; 16 | 17 | lfLog('Loaded ReactBootrap.ReactView'); 18 | 19 | export { ReactView as default }; 20 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index-DPeSUu1q.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | import { T as ThreeColumns, l as lfLog } from './index-L88BoVgD.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.ThreeColumn'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index-DdZsKCmS.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | import { k as TwoColumns, l as lfLog } from './index-L88BoVgD.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index-o74RMOAP.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | import { a as _extends, m as makeClassName, l as lfLog } from './index-L88BoVgD.js'; 3 | import React from 'react'; 4 | 5 | var Hidden = function Hidden(_ref) { 6 | var name = _ref.name; 7 | return /*#__PURE__*/React.createElement("div", _extends({}, makeClassName('hidden', name), { 8 | style: { 9 | padding: '10px' 10 | } 11 | }), "Hidden field: ", /*#__PURE__*/React.createElement("em", null, name)); 12 | }; 13 | lfLog('Loaded RSuite5.Hidden'); 14 | 15 | export { Hidden as default }; 16 | -------------------------------------------------------------------------------- /dist/react-bootstrap-esm/index.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-bootstrap v0.13.0 - ESM */ 2 | export { N as Connectors, ag as FIELDS_KEY, ae as FRAMEWORKS, af as FRAMEWORKS_LABELS, K as Fields, M as Forms, am as LfArray, al as LfColumn, ak as LfColumns, ah as LfField, ai as LfGroup, aj as LfObject, aq as LfStep, ap as LfSteps, ao as LfTab, an as LfTabs, V as applyFormRules, a1 as applyTransformers, Q as cleanUp, a3 as collectIds, B as collectNames, L as default, D as fillIds, X as filterFields, f as filterOptions, R as findField, aa as formHasComponents, a2 as formHelper, U as getFieldById, Y as getLocales, Z as i18n, i as i18nOptions, a4 as isChildrenOf, $ as isEmptyForm, a0 as isI18n, J as isUrl, a8 as isValidArrayOfFields, a5 as isValidConnector, h as isValidDate, W as isValidDayjsFormat, a7 as isValidField, a6 as isValidForm, ab as isValidTime, j as makeWidthStyle, P as mapFields, ac as omitFields, p as passRest, S as reduceFields, O as replaceField, ad as someFields, ar as traverseChildren, a9 as validateJSONForm } from './index-L88BoVgD.js'; 3 | import 'react'; 4 | -------------------------------------------------------------------------------- /dist/react-bootstrap/175-948250253a5e2df7d2a8.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[175],{4175:function(t,a,e){e.r(a);var o=e(9810);(0,e(8228).n)("Loaded ReactBootrap.PlaceholderImage"),a.default=o.Nx}}]); 2 | //# sourceMappingURL=175-948250253a5e2df7d2a8.map -------------------------------------------------------------------------------- /dist/react-bootstrap/175-948250253a5e2df7d2a8.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"175-948250253a5e2df7d2a8.js","mappings":"qJAGAA,E,QAAAA,GAAM,wCAEN,UAAeC,EAAgB,E","sources":["webpack:///./react-bootstrap/placeholder-image/index.js"],"sourcesContent":["import { PlaceholderImage } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded ReactBootrap.PlaceholderImage');\n\nexport default PlaceholderImage;\n"],"names":["lfLog","PlaceholderImage"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-bootstrap/387-709ddc8bc9d2ce1ac21a.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[387],{5387:function(e,l,a){a.r(l);var n=a(1609),t=a.n(n),r=a(7037),o=a.n(r),u=a(8156),d=a.n(u),i=a(3466),c=a(5593),m=a(8228),s=(0,c.mb)((function(e){var l=e.name,a=e.label,n=e.hint,r=e.value,m=e.onChange,s=e.onBlur,p=e.disabled,b=void 0!==p&&p,h=e.readOnly,f=void 0!==h&&h,v=e.error,k=e.required,C=e.placeholder,E=e.min,Z=e.max,_=e.step,g=(0,u.useCallback)((function(e){m(e.target.value)}),[m]);return d().createElement(i.Z.Group,{className:"lf-control-input-text","data-lf-field-name":l},d().createElement(i.Z.Label,null,a,k&&d().createElement(c.T_,null)),d().createElement(i.Z.Range,{name:l,defaultValue:r,onChange:g,min:E,max:Z,step:_,placeholder:C,onBlur:s,disabled:b,readOnly:f,isInvalid:null!=v}),n&&!v&&d().createElement(i.Z.Text,null,n),o()(v)&&!t()(v)&&d().createElement(i.Z.Control.Feedback,{type:"invalid"},v))}),["label","hint","placeholder"]);(0,m.n)("Loaded ReactBootrap.Slider"),l.default=s}}]); 2 | //# sourceMappingURL=387-709ddc8bc9d2ce1ac21a.map -------------------------------------------------------------------------------- /dist/react-bootstrap/428-8bc8accd713b5b852abb.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[428],{3428:function(t,o,a){a.r(o);var r=a(9810);(0,a(8228).n)("Loaded ReactBootrap.Group"),o.default=r.ZA}}]); 2 | //# sourceMappingURL=428-8bc8accd713b5b852abb.map -------------------------------------------------------------------------------- /dist/react-bootstrap/428-8bc8accd713b5b852abb.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"428-8bc8accd713b5b852abb.js","mappings":"qJAGAA,E,QAAAA,GAAM,6BAEN,UAAeC,EAAK,E","sources":["webpack:///./react-bootstrap/group/index.js"],"sourcesContent":["import { Group } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded ReactBootrap.Group');\n\nexport default Group;\n"],"names":["lfLog","Group"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-bootstrap/466-fd935e0f51e7df73c26c.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /** 8 | * @license React 9 | * react-jsx-runtime.production.min.js 10 | * 11 | * Copyright (c) Facebook, Inc. and its affiliates. 12 | * 13 | * This source code is licensed under the MIT license found in the 14 | * LICENSE file in the root directory of this source tree. 15 | */ 16 | -------------------------------------------------------------------------------- /dist/react-bootstrap/551-67152fb190dd492e0c2d.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[551],{9551:function(t,o,a){a.r(o);var e=a(9810);(0,a(8228).n)("Loaded ReactBootrap.Divider"),o.default=e.iz}}]); 2 | //# sourceMappingURL=551-67152fb190dd492e0c2d.map -------------------------------------------------------------------------------- /dist/react-bootstrap/551-67152fb190dd492e0c2d.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"551-67152fb190dd492e0c2d.js","mappings":"qJAGAA,E,QAAAA,GAAM,+BAEN,UAAeC,EAAO,E","sources":["webpack:///./react-bootstrap/divider/index.js"],"sourcesContent":["import { Divider } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded ReactBootrap.Divider');\n\nexport default Divider;"],"names":["lfLog","Divider"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-bootstrap/820-ebf5c41ae22b2e3e39d2.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[820],{6820:function(t,o,s){s.r(o);var a=s(9810);(0,s(8228).n)("Loaded ReactBootrap.TwoColumns"),o.default=a.VZ}}]); 2 | //# sourceMappingURL=820-ebf5c41ae22b2e3e39d2.map -------------------------------------------------------------------------------- /dist/react-bootstrap/820-ebf5c41ae22b2e3e39d2.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"820-ebf5c41ae22b2e3e39d2.js","mappings":"qJAGAA,E,QAAAA,GAAM,kCAEN,UAAeC,EAAU,E","sources":["webpack:///./react-bootstrap/two-columns/index.js"],"sourcesContent":["import { TwoColumns } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded ReactBootrap.TwoColumns');\n\nexport default TwoColumns;\n"],"names":["lfLog","TwoColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-bootstrap/879-699d093015dd8bde9f97.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[879],{6879:function(e,t,a){a.r(t);var l=a(8156),n=a.n(l),r=a(3466),o=a(9810),c=a(5593),m=a(8228),s=(0,c.mb)((function(e){var t=e.label,a=e.hint,l=e.text,c=e.name;return n().createElement(r.Z.Group,{className:"lf-control-placeholder","data-lf-field-name":c},t&&n().createElement(r.Z.Label,null,t),n().createElement(o.Vm,{text:l}),a&&n().createElement(r.Z.Text,null,a))}),["label","hint","text"]);(0,m.n)("Loaded ReactBootrap.Placeholder"),t.default=s}}]); 2 | //# sourceMappingURL=879-699d093015dd8bde9f97.map -------------------------------------------------------------------------------- /dist/react-bootstrap/91-f89ab289b5fd665ae727.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[91],{8091:function(t,o,e){e.r(o);var a=e(9810);(0,e(8228).n)("Loaded ReactBootrap.ThreeColumn"),o.default=a.$z}}]); 2 | //# sourceMappingURL=91-f89ab289b5fd665ae727.map -------------------------------------------------------------------------------- /dist/react-bootstrap/91-f89ab289b5fd665ae727.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"91-f89ab289b5fd665ae727.js","mappings":"oJAGAA,E,QAAAA,GAAM,mCAEN,UAAeC,EAAY,E","sources":["webpack:///./react-bootstrap/three-columns/index.js"],"sourcesContent":["import { ThreeColumns } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded ReactBootrap.ThreeColumn');\n\nexport default ThreeColumns;\n"],"names":["lfLog","ThreeColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-bootstrap/934-f3d5229101e452daefc5.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_bootstrap=this.webpackChunklets_form_bootstrap||[]).push([[934],{4934:function(t,a,e){e.r(a);var o=e(9810);(0,e(8228).n)("Loaded ReactBootrap.ReactView"),a.default=o.Yk}}]); 2 | //# sourceMappingURL=934-f3d5229101e452daefc5.map -------------------------------------------------------------------------------- /dist/react-bootstrap/934-f3d5229101e452daefc5.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"934-f3d5229101e452daefc5.js","mappings":"qJAGAA,E,QAAAA,GAAM,iCAEN,UAAeC,EAAS,E","sources":["webpack:///./react-bootstrap/react-view/index.js"],"sourcesContent":["import { ReactView } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded ReactBootrap.ReactView');\n\nexport default ReactView;\n"],"names":["lfLog","ReactView"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-bootstrap/main.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ 8 | -------------------------------------------------------------------------------- /dist/react-esm/index-5_Q9HnJm.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | import { d as TwoColumns, l as lfLog } from './index-BJxxV7mx.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded React.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-esm/index-9rWQIp1D.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | import { a as _extends, m as makeClassName, l as lfLog } from './index-BJxxV7mx.js'; 3 | import React from 'react'; 4 | 5 | var Hidden = function Hidden(_ref) { 6 | var name = _ref.name; 7 | return /*#__PURE__*/React.createElement("div", _extends({}, makeClassName('hidden', name), { 8 | style: { 9 | padding: '10px' 10 | } 11 | }), "Hidden field: ", /*#__PURE__*/React.createElement("em", null, name)); 12 | }; 13 | lfLog('Loaded RSuite5.Hidden'); 14 | 15 | export { Hidden as default }; 16 | -------------------------------------------------------------------------------- /dist/react-esm/index-BIsljCGw.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | import { s as styleInject, I as I18N, l as lfLog, _ as _objectWithoutProperties, a as _extends } from './index-BJxxV7mx.js'; 3 | import React, { useCallback } from 'react'; 4 | import { R as ReactGenericInput } from './index-Bz3IF9R7.js'; 5 | import './index-wX0VRsKD.js'; 6 | 7 | var css_248z = ".lf-form-react .lf-control-input-text input[type=color] {\n min-width: 60px;\n}"; 8 | styleInject(css_248z); 9 | 10 | var _excluded = ["onChange"]; 11 | var TextInput = I18N(function (_ref) { 12 | var onChange = _ref.onChange, 13 | rest = _objectWithoutProperties(_ref, _excluded); 14 | var handleChange = useCallback(function (e) { 15 | return onChange(e.target.value); 16 | }, [onChange]); 17 | return /*#__PURE__*/React.createElement(ReactGenericInput, _extends({ 18 | component: "input-text", 19 | onChange: handleChange 20 | }, rest)); 21 | }, ['label', 'hint', 'placeholder']); 22 | lfLog('Loaded React.InputText'); 23 | 24 | export { TextInput as default }; 25 | -------------------------------------------------------------------------------- /dist/react-esm/index-BxlP6aQx.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | import { T as ThreeColumns, l as lfLog } from './index-BJxxV7mx.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded React.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-esm/index-DXChKI_O.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-BJxxV7mx.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded React.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/react-esm/index-rG_UcDnP.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-BJxxV7mx.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-esm/index-snfKVPr5.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | import { _ as _objectWithoutProperties, m as makeClassName, a as _extends, l as lfLog } from './index-BJxxV7mx.js'; 3 | import React from 'react'; 4 | 5 | var _excluded = ["name", "view", "className"]; 6 | var ReactView = function ReactView(_ref) { 7 | var name = _ref.name, 8 | view = _ref.view, 9 | className = _ref.className, 10 | rest = _objectWithoutProperties(_ref, _excluded); 11 | var View = view; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('react-view', name, className), View && /*#__PURE__*/React.createElement(View, _extends({ 13 | name: name 14 | }, rest))); 15 | }; 16 | 17 | lfLog('Loaded React.ReactView'); 18 | 19 | export { ReactView as default }; 20 | -------------------------------------------------------------------------------- /dist/react-esm/index.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react v0.13.0 - ESM */ 2 | export { M as Connectors, ag as FIELDS_KEY, ae as FRAMEWORKS, af as FRAMEWORKS_LABELS, J as Fields, K as Forms, am as LfArray, al as LfColumn, ak as LfColumns, ah as LfField, ai as LfGroup, aj as LfObject, aq as LfStep, ap as LfSteps, ao as LfTab, an as LfTabs, U as applyFormRules, a0 as applyTransformers, P as cleanUp, a3 as collectIds, B as collectNames, L as default, D as fillIds, W as filterFields, j as filterOptions, Q as findField, aa as formHasComponents, a2 as formHelper, S as getFieldById, X as getLocales, Y as i18n, n as i18nOptions, a4 as isChildrenOf, Z as isEmptyForm, $ as isI18n, a1 as isUrl, a8 as isValidArrayOfFields, a5 as isValidConnector, o as isValidDate, V as isValidDayjsFormat, a7 as isValidField, a6 as isValidForm, ab as isValidTime, c as makeWidthStyle, O as mapFields, ac as omitFields, p as passRest, R as reduceFields, N as replaceField, ad as someFields, ar as traverseChildren, a9 as validateJSONForm } from './index-BJxxV7mx.js'; 3 | import 'react'; 4 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index--2EqpSHG.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-6pRTHIuW.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-B3J9Krck.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { k as ThreeColumns, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.ThreeColumn'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-BUp7cGaN.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { a as _extends, l as lfLog } from './index-DLdYirby.js'; 3 | import React from 'react'; 4 | import { C as CommonObject, L as LetsForm } from './index-CEYXKouF.js'; 5 | 6 | var ReactBoostrapObject = function ReactBoostrapObject(props) { 7 | return /*#__PURE__*/React.createElement(CommonObject, _extends({ 8 | LetsFormComponent: LetsForm 9 | }, props)); 10 | }; 11 | lfLog('Loaded ReactBootstrap.Object'); 12 | 13 | export { ReactBoostrapObject as default }; 14 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-BjrQSB1P.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded Mantine.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-BoSYuaYT.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-CJ3tWko4.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import Form from 'react-bootstrap/Form'; 4 | import { P as Placeholder } from './index-DFJJ4o5D.js'; 5 | import { I as I18N, l as lfLog, m as makeClassName } from './index-DLdYirby.js'; 6 | 7 | var PlaceholderBootstrap = I18N(function (_ref) { 8 | var label = _ref.label, 9 | hint = _ref.hint, 10 | text = _ref.text, 11 | name = _ref.name, 12 | className = _ref.className; 13 | return /*#__PURE__*/React.createElement(Form.Group, makeClassName('placeholder', name, className), label && /*#__PURE__*/React.createElement(Form.Label, null, label), /*#__PURE__*/React.createElement(Placeholder, { 14 | text: text 15 | }), hint && /*#__PURE__*/React.createElement(Form.Text, null, hint)); 16 | }, ['label', 'hint', 'text']); 17 | lfLog('Loaded ReactBootrap.Placeholder'); 18 | 19 | export { PlaceholderBootstrap as default }; 20 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-CMfc9CCo.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import { N as isUrl } from './index-DLdYirby.js'; 4 | 5 | var TextOrIcon = function TextOrIcon(str) { 6 | if (isUrl(str)) { 7 | return /*#__PURE__*/React.createElement("img", { 8 | className: "lf-prefix-icon", 9 | src: str, 10 | alt: "icon" 11 | }); 12 | } else if (str) { 13 | return /*#__PURE__*/React.createElement("span", null, str); 14 | } 15 | }; 16 | 17 | export { TextOrIcon as T }; 18 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-CTxMSXG1.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | import { P as PlaceholderImage } from './index-ONiD6g1d.js'; 5 | 6 | lfLog('Loaded ReactBootrap.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-DeGtTbKX.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { P as PlaceholderImage } from './index-ONiD6g1d.js'; 3 | import { l as lfLog } from './index-DLdYirby.js'; 4 | import 'react'; 5 | 6 | lfLog('Loaded Mantine.PlaceholderImage'); 7 | 8 | export { PlaceholderImage as default }; 9 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-Dg-iAB-Q.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { a as _extends, m as makeClassName, l as lfLog } from './index-DLdYirby.js'; 3 | import React from 'react'; 4 | 5 | var Hidden = function Hidden(_ref) { 6 | var name = _ref.name; 7 | return /*#__PURE__*/React.createElement("div", _extends({}, makeClassName('hidden', name), { 8 | style: { 9 | padding: '10px' 10 | } 11 | }), "Hidden field: ", /*#__PURE__*/React.createElement("em", null, name)); 12 | }; 13 | lfLog('Loaded RSuite5.Hidden'); 14 | 15 | export { Hidden as default }; 16 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-DvwT1W8m.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { I as I18N, l as lfLog, a as _extends, m as makeClassName } from './index-DLdYirby.js'; 3 | import React from 'react'; 4 | import { Input } from '@mantine/core'; 5 | import { P as Placeholder } from './index-DFJJ4o5D.js'; 6 | 7 | var PlaceholderMantine = I18N(function (_ref) { 8 | var name = _ref.name, 9 | label = _ref.label, 10 | hint = _ref.hint, 11 | text = _ref.text, 12 | className = _ref.className; 13 | return /*#__PURE__*/React.createElement(Input.Wrapper, _extends({}, makeClassName('placeholder', name, className), { 14 | description: hint, 15 | inputWrapperOrder: ['label', 'input', 'description', 'error'], 16 | label: label 17 | }), /*#__PURE__*/React.createElement(Placeholder, { 18 | text: text 19 | })); 20 | }, ['label', 'hint', 'text']); 21 | lfLog('Loaded Mantine.Placeholder'); 22 | 23 | export { PlaceholderMantine as default }; 24 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-DxTUHSDs.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded ReactBootrap.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-L4yXUL1_.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { _ as _objectWithoutProperties, m as makeClassName, a as _extends, l as lfLog } from './index-DLdYirby.js'; 3 | import React from 'react'; 4 | 5 | var _excluded = ["name", "view", "className"]; 6 | var ReactView = function ReactView(_ref) { 7 | var name = _ref.name, 8 | view = _ref.view, 9 | className = _ref.className, 10 | rest = _objectWithoutProperties(_ref, _excluded); 11 | var View = view; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('react-view', name, className), View && /*#__PURE__*/React.createElement(View, _extends({ 13 | name: name 14 | }, rest))); 15 | }; 16 | 17 | lfLog('Loaded ReactBootrap.ReactView'); 18 | 19 | export { ReactView as default }; 20 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-P2X6RfIj.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { k as ThreeColumns, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index-fBKs8SR6.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-DLdYirby.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-mantine-esm/index.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-mantine v0.13.0 - ESM */ 2 | export { R as Connectors, ak as FIELDS_KEY, ai as FRAMEWORKS, aj as FRAMEWORKS_LABELS, P as Fields, Q as Forms, aq as LfArray, ap as LfColumn, ao as LfColumns, al as LfField, am as LfGroup, an as LfObject, au as LfStep, at as LfSteps, as as LfTab, ar as LfTabs, Z as applyFormRules, a5 as applyTransformers, V as cleanUp, a7 as collectIds, J as collectNames, L as default, K as fillIds, a0 as filterFields, f as filterOptions, W as findField, ae as formHasComponents, a6 as formHelper, Y as getFieldById, a1 as getLocales, a2 as i18n, i as i18nOptions, a8 as isChildrenOf, a3 as isEmptyForm, a4 as isI18n, N as isUrl, ac as isValidArrayOfFields, a9 as isValidConnector, w as isValidDate, $ as isValidDayjsFormat, ab as isValidField, aa as isValidForm, af as isValidTime, b as makeWidthStyle, U as mapFields, ag as omitFields, p as passRest, X as reduceFields, S as replaceField, ah as someFields, av as traverseChildren, ad as validateJSONForm } from './index-DLdYirby.js'; 3 | import 'react'; 4 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index-8kHHg1xe.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | import { C as Columns, l as lfLog } from './index-DJ3Q1Yyt.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index-BbdWv2od.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | import { h as TwoColumns, l as lfLog } from './index-DJ3Q1Yyt.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index-CN2slcYS.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | import { _ as _objectWithoutProperties, m as makeClassName, a as _extends, l as lfLog } from './index-DJ3Q1Yyt.js'; 3 | import React from 'react'; 4 | 5 | var _excluded = ["name", "view", "className"]; 6 | var ReactView = function ReactView(_ref) { 7 | var name = _ref.name, 8 | view = _ref.view, 9 | className = _ref.className, 10 | rest = _objectWithoutProperties(_ref, _excluded); 11 | var View = view; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('react-view', name, className), View && /*#__PURE__*/React.createElement(View, _extends({ 13 | name: name 14 | }, rest))); 15 | }; 16 | 17 | lfLog('Loaded MUI.ReactView'); 18 | 19 | export { ReactView as default }; 20 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index-CYpvl7_0.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | import React from 'react'; 3 | import { P as isUrl } from './index-DJ3Q1Yyt.js'; 4 | 5 | var TextOrIcon = function TextOrIcon(str) { 6 | if (isUrl(str)) { 7 | return /*#__PURE__*/React.createElement("img", { 8 | className: "lf-prefix-icon", 9 | src: str, 10 | alt: "icon" 11 | }); 12 | } else if (str) { 13 | return /*#__PURE__*/React.createElement("span", null, str); 14 | } 15 | }; 16 | 17 | export { TextOrIcon as T }; 18 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index-DAAYSSTI.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | import { T as ThreeColumns, l as lfLog } from './index-DJ3Q1Yyt.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index-DBK0RU50.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-DJ3Q1Yyt.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded MUI.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index-DFa2K87A.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | import { a as _extends, m as makeClassName, l as lfLog } from './index-DJ3Q1Yyt.js'; 3 | import React from 'react'; 4 | 5 | var Hidden = function Hidden(_ref) { 6 | var name = _ref.name; 7 | return /*#__PURE__*/React.createElement("div", _extends({}, makeClassName('hidden', name), { 8 | style: { 9 | padding: '10px' 10 | } 11 | }), "Hidden field: ", /*#__PURE__*/React.createElement("em", null, name)); 12 | }; 13 | lfLog('Loaded RSuite5.Hidden'); 14 | 15 | export { Hidden as default }; 16 | -------------------------------------------------------------------------------- /dist/react-material-ui-esm/index.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-material-ui v0.13.0 - ESM */ 2 | export { S as Connectors, aj as FIELDS_KEY, ah as FRAMEWORKS, ai as FRAMEWORKS_LABELS, Q as Fields, R as Forms, ap as LfArray, ao as LfColumn, an as LfColumns, ak as LfField, al as LfGroup, am as LfObject, at as LfStep, as as LfSteps, ar as LfTab, aq as LfTabs, $ as applyFormRules, a5 as applyTransformers, W as cleanUp, a7 as collectIds, E as collectNames, L as default, F as fillIds, a0 as filterFields, J as filterOptions, X as findField, ae as formHasComponents, a6 as formHelper, Z as getFieldById, a1 as getLocales, a2 as i18n, i as i18nOptions, a8 as isChildrenOf, a3 as isEmptyForm, a4 as isI18n, P as isUrl, ac as isValidArrayOfFields, a9 as isValidConnector, g as isValidDate, r as isValidDayjsFormat, ab as isValidField, aa as isValidForm, M as isValidTime, q as makeWidthStyle, V as mapFields, af as omitFields, p as passRest, Y as reduceFields, U as replaceField, ag as someFields, au as traverseChildren, ad as validateJSONForm } from './index-DJ3Q1Yyt.js'; 3 | import 'react'; 4 | -------------------------------------------------------------------------------- /dist/react-material-ui/155-059cd0445e458b820e6e.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[155],{6155:function(t,a,e){e.r(a);var u=e(8727);(0,e(8228).n)("Loaded MUI.Group"),a.default=u.Z}}]); 2 | //# sourceMappingURL=155-059cd0445e458b820e6e.map -------------------------------------------------------------------------------- /dist/react-material-ui/155-059cd0445e458b820e6e.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"155-059cd0445e458b820e6e.js","mappings":"yJAGAA,E,QAAAA,GAAM,oBAEN,UAAeC,EAAK,C","sources":["webpack:///./react-material-ui/group/index.js"],"sourcesContent":["import { Group } from '../../common/group';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded MUI.Group');\n\nexport default Group;\n"],"names":["lfLog","Group"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-material-ui/27-4ffa2ae951999ac6a466.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[27],{2027:function(e,t,a){a.r(t);var u=a(7645);(0,a(8228).n)("Loaded MUI.ThreeColumns"),t.default=u.$}}]); 2 | //# sourceMappingURL=27-4ffa2ae951999ac6a466.map -------------------------------------------------------------------------------- /dist/react-material-ui/27-4ffa2ae951999ac6a466.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"27-4ffa2ae951999ac6a466.js","mappings":"wJAGAA,E,QAAAA,GAAM,2BAEN,UAAeC,EAAY,C","sources":["webpack:///./react-material-ui/three-columns/index.js"],"sourcesContent":["import { ThreeColumns } from '../../common/three-columns';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded MUI.ThreeColumns');\n\nexport default ThreeColumns;\n"],"names":["lfLog","ThreeColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-material-ui/312-579a1673dd32c5926108.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[312],{5312:function(e,l,a){a.r(l);var n=a(8156),t=a.n(n),i=a(3463),o=a.n(i),r=a(6689),c=a.n(r),d=a(5006),s=a.n(d),u=a(9111),b=a(8228),m=(0,u.mb)((function(e){var l=e.name,a=e.label,i=e.value,r=e.disabled,d=void 0!==r&&r,u=e.color,b=e.onChange,m=e.size,h=e.labelPlacement,f=e.onBlur,g=e.required,k=e.disableRipple,p=(0,n.useCallback)((function(e){b(e.target.checked)}),[b]),v=t().createElement(s(),{checked:i,onChange:p,disabled:d,onBlur:f,color:u||void 0,size:m||void 0,required:g,disableRipple:k});return t().createElement(c(),{"data-lf-field-name":l,className:"lf-control-toggle"},a&&t().createElement(o(),{labelPlacement:h||void 0,disabled:d,label:a,control:v}),!a&&v)}),["label","hint"]);(0,b.n)("Loaded MUI.Toggle"),l.default=m}}]); 2 | //# sourceMappingURL=312-579a1673dd32c5926108.map -------------------------------------------------------------------------------- /dist/react-material-ui/568-96491a403d13c6b4f057.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[568],{8568:function(i,e,t){t.r(e);var a=t(9571);(0,t(8228).n)("Loaded MUI.Divider"),e.default=a.i}}]); 2 | //# sourceMappingURL=568-96491a403d13c6b4f057.map -------------------------------------------------------------------------------- /dist/react-material-ui/568-96491a403d13c6b4f057.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"568-96491a403d13c6b4f057.js","mappings":"yJAGAA,E,QAAAA,GAAM,sBAEN,UAAeC,EAAO,C","sources":["webpack:///./react-material-ui/divider/index.js"],"sourcesContent":["import { Divider } from '../../common/divider';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded MUI.Divider');\n\nexport default Divider;\n"],"names":["lfLog","Divider"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-material-ui/706-8ca44cc5814644012dce.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[706],{4706:function(e,t,a){a.r(t);var i=a(8169);(0,a(8228).n)("Loaded MUI.ReactView"),t.default=i.Y}}]); 2 | //# sourceMappingURL=706-8ca44cc5814644012dce.map -------------------------------------------------------------------------------- /dist/react-material-ui/706-8ca44cc5814644012dce.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"706-8ca44cc5814644012dce.js","mappings":"yJAGAA,E,QAAAA,GAAM,wBAEN,UAAeC,EAAS,C","sources":["webpack:///./react-material-ui/react-view/index.js"],"sourcesContent":["import { ReactView } from '../../common/react-view';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded MUI.ReactView');\n\nexport default ReactView;\n"],"names":["lfLog","ReactView"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-material-ui/904-b09eb333d2f76e616c0a.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[904],{4904:function(e,a,t){t.r(a);var i=t(8587);(0,t(8228).n)("Loaded MUI.PlaceholderImage"),a.default=i.N}}]); 2 | //# sourceMappingURL=904-b09eb333d2f76e616c0a.map -------------------------------------------------------------------------------- /dist/react-material-ui/904-b09eb333d2f76e616c0a.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"904-b09eb333d2f76e616c0a.js","mappings":"yJAGAA,E,QAAAA,GAAM,+BAEN,UAAeC,EAAgB,C","sources":["webpack:///./react-material-ui/placeholder-image/index.js"],"sourcesContent":["import { PlaceholderImage } from '../../common/placeholder-image';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded MUI.PlaceholderImage');\n\nexport default PlaceholderImage;\n"],"names":["lfLog","PlaceholderImage"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-material-ui/922-01ae9d6c2ae5524d0348.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[922],{9922:function(t,a,e){e.r(a);var u=e(963);(0,e(8228).n)("Loaded MUI.TwoColumns"),a.default=u.V}}]); 2 | //# sourceMappingURL=922-01ae9d6c2ae5524d0348.map -------------------------------------------------------------------------------- /dist/react-material-ui/922-01ae9d6c2ae5524d0348.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"922-01ae9d6c2ae5524d0348.js","mappings":"wJAGAA,E,QAAAA,GAAM,yBAEN,UAAeC,EAAU,C","sources":["webpack:///./react-material-ui/two-columns/index.js"],"sourcesContent":["import { TwoColumns } from '../../common/two-columns';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded MUI.TwoColumns');\n\nexport default TwoColumns;\n"],"names":["lfLog","TwoColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-material-ui/982-281005d5b003e592c2de.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_material_ui=this.webpackChunklets_form_material_ui||[]).push([[982],{6982:function(e,l,a){a.r(l);var n=a(8156),t=a.n(n),i=a(2811),c=a.n(i),r=a(6689),o=a.n(r),d=a(3463),s=a.n(d),u=a(9111),b=a(8228),m=(0,u.mb)((function(e){var l=e.name,a=e.label,i=e.value,r=e.disabled,d=void 0!==r&&r,u=e.color,b=e.onChange,m=e.size,h=e.labelPlacement,f=e.onBlur,k=e.required,p=e.disableRipple,C=(0,n.useCallback)((function(e){b(e.target.checked)}),[b]),_=t().createElement(c(),{checked:i,onChange:C,disabled:d,onBlur:f,color:u,size:m,required:k,disableRipple:p});return t().createElement(o(),{"data-lf-field-name":l,className:"lf-control-checkbox"},a&&t().createElement(s(),{labelPlacement:h||void 0,disabled:d,label:a,control:_}),!a&&_)}),["label","hint"]);(0,b.n)("Loaded MUI.Checkbox"),l.default=m}}]); 2 | //# sourceMappingURL=982-281005d5b003e592c2de.map -------------------------------------------------------------------------------- /dist/react-material-ui/main.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ 8 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index-0iU28twU.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | import { _ as _objectWithoutProperties, m as makeClassName, a as _extends, l as lfLog } from './index-3aHKanhW.js'; 3 | import React from 'react'; 4 | 5 | var _excluded = ["name", "view", "className"]; 6 | var ReactView = function ReactView(_ref) { 7 | var name = _ref.name, 8 | view = _ref.view, 9 | className = _ref.className, 10 | rest = _objectWithoutProperties(_ref, _excluded); 11 | var View = view; 12 | return /*#__PURE__*/React.createElement("div", makeClassName('react-view', name, className), View && /*#__PURE__*/React.createElement(View, _extends({ 13 | name: name 14 | }, rest))); 15 | }; 16 | 17 | lfLog('Loaded RSuite5.ReactView'); 18 | 19 | export { ReactView as default }; 20 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index-BQ2vPUSv.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | import React, { useRef, useEffect } from 'react'; 3 | import { Whisper, Popover } from 'rsuite'; 4 | 5 | var POPOVER_STYLE = { 6 | padding: '6px', 7 | color: '#ff6633' 8 | }; 9 | var RSuite5FieldControl = function RSuite5FieldControl(_ref) { 10 | var errorMessage = _ref.errorMessage, 11 | children = _ref.children; 12 | var triggerRef = useRef(); 13 | useEffect(function () { 14 | if (errorMessage) { 15 | triggerRef.current.open(); 16 | } else { 17 | triggerRef.current.close(); 18 | } 19 | }, [errorMessage]); 20 | return /*#__PURE__*/React.createElement(Whisper, { 21 | placement: "bottomStart", 22 | ref: triggerRef, 23 | trigger: "none", 24 | speaker: /*#__PURE__*/React.createElement(Popover, { 25 | style: POPOVER_STYLE, 26 | visible: !!errorMessage, 27 | className: "lf-react-rsuite5-error-popover" 28 | }, /*#__PURE__*/React.createElement("div", null, errorMessage)) 29 | }, children); 30 | }; 31 | 32 | export { RSuite5FieldControl as R }; 33 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index-Bu8On0jQ.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | import { G as Group, l as lfLog } from './index-3aHKanhW.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Group'); 6 | 7 | export { Group as default }; 8 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index-CxXr3W4R.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | import { T as TwoColumns, l as lfLog } from './index-3aHKanhW.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.TwoColumns'); 6 | 7 | export { TwoColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index-DJEOsjE0.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | import { a as _extends, m as makeClassName, l as lfLog } from './index-3aHKanhW.js'; 3 | import React from 'react'; 4 | 5 | var Hidden = function Hidden(_ref) { 6 | var name = _ref.name; 7 | return /*#__PURE__*/React.createElement("div", _extends({}, makeClassName('hidden', name), { 8 | style: { 9 | padding: '10px' 10 | } 11 | }), "Hidden field: ", /*#__PURE__*/React.createElement("em", null, name)); 12 | }; 13 | lfLog('Loaded RSuite5.Hidden'); 14 | 15 | export { Hidden as default }; 16 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index-DOs-yadL.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | import { B as ThreeColumns, l as lfLog } from './index-3aHKanhW.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.ThreeColumns'); 6 | 7 | export { ThreeColumns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index-DZDkpq5z.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | import { D as Columns, l as lfLog } from './index-3aHKanhW.js'; 3 | import 'react'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export { Columns as default }; 8 | -------------------------------------------------------------------------------- /dist/react-rsuite5-esm/index.js: -------------------------------------------------------------------------------- 1 | /* LetsForm react-rsuite5 v0.13.0 - ESM */ 2 | export { U as Connectors, ak as FIELDS_KEY, ai as FRAMEWORKS, aj as FRAMEWORKS_LABELS, R as Fields, S as Forms, aq as LfArray, ap as LfColumn, ao as LfColumns, al as LfField, am as LfGroup, an as LfObject, au as LfStep, at as LfSteps, as as LfTab, ar as LfTabs, a0 as applyFormRules, a6 as applyTransformers, X as cleanUp, a8 as collectIds, w as collectNames, L as default, y as fillIds, a2 as filterFields, f as filterOptions, Y as findField, af as formHasComponents, a7 as formHelper, $ as getFieldById, a3 as getLocales, a4 as i18n, i as i18nOptions, a9 as isChildrenOf, a5 as isEmptyForm, M as isI18n, N as isUrl, ad as isValidArrayOfFields, aa as isValidConnector, F as isValidDate, a1 as isValidDayjsFormat, ac as isValidField, ab as isValidForm, P as isValidTime, c as makeWidthStyle, W as mapFields, ag as omitFields, p as passRest, Z as reduceFields, V as replaceField, ah as someFields, av as traverseChildren, ae as validateJSONForm } from './index-3aHKanhW.js'; 3 | import 'react'; 4 | -------------------------------------------------------------------------------- /dist/react-rsuite5/131-48000d91cb0a9342eb39.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_rsuite5=this.webpackChunklets_form_rsuite5||[]).push([[131],{7131:function(t,e,u){u.r(e);var s=u(8727);(0,u(8228).n)("Loaded RSuite5.Group"),e.default=s.Z}}]); 2 | //# sourceMappingURL=131-48000d91cb0a9342eb39.map -------------------------------------------------------------------------------- /dist/react-rsuite5/131-48000d91cb0a9342eb39.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"131-48000d91cb0a9342eb39.js","mappings":"iJAIAA,E,QAAAA,GAAM,wBAEN,UAAeC,EAAK,C","sources":["webpack:///./react-rsuite5/group/index.js"],"sourcesContent":["import { Group } from '../../common/group';\n\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded RSuite5.Group');\n\nexport default Group;\n"],"names":["lfLog","Group"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-rsuite5/258-f8314a9c8ca127a3b86d.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_rsuite5=this.webpackChunklets_form_rsuite5||[]).push([[258],{6258:function(t,e,s){s.r(e);var u=s(963);(0,s(8228).n)("Loaded RSuite5.TwoColumns"),e.default=u.V}}]); 2 | //# sourceMappingURL=258-f8314a9c8ca127a3b86d.map -------------------------------------------------------------------------------- /dist/react-rsuite5/258-f8314a9c8ca127a3b86d.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"258-f8314a9c8ca127a3b86d.js","mappings":"gJAIAA,E,QAAAA,GAAM,6BAEN,UAAeC,EAAU,C","sources":["webpack:///./react-rsuite5/two-columns/index.js"],"sourcesContent":["import { TwoColumns } from '../../common/two-columns';\n\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded RSuite5.TwoColumns');\n\nexport default TwoColumns;\n"],"names":["lfLog","TwoColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-rsuite5/264-04e495575bcdcc76b95c.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_rsuite5=this.webpackChunklets_form_rsuite5||[]).push([[264],{8264:function(e,t,s){s.r(t);var u=s(8587);(0,s(8228).n)("Loaded RSuite5.PlaceholderImage"),t.default=u.N}}]); 2 | //# sourceMappingURL=264-04e495575bcdcc76b95c.map -------------------------------------------------------------------------------- /dist/react-rsuite5/264-04e495575bcdcc76b95c.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"264-04e495575bcdcc76b95c.js","mappings":"iJAGAA,E,QAAAA,GAAM,mCAEN,UAAeC,EAAgB,C","sources":["webpack:///./react-rsuite5/placeholder-image/index.js"],"sourcesContent":["import { PlaceholderImage } from '../../common/placeholder-image';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded RSuite5.PlaceholderImage');\n\nexport default PlaceholderImage;\n"],"names":["lfLog","PlaceholderImage"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-rsuite5/501-6e86e7687f38680de223.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_rsuite5=this.webpackChunklets_form_rsuite5||[]).push([[501],{9501:function(e,t,s){s.r(t);var u=s(7645);(0,s(8228).n)("Loaded RSuite5.ThreeColumns"),t.default=u.$}}]); 2 | //# sourceMappingURL=501-6e86e7687f38680de223.map -------------------------------------------------------------------------------- /dist/react-rsuite5/501-6e86e7687f38680de223.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"501-6e86e7687f38680de223.js","mappings":"iJAIAA,E,QAAAA,GAAM,+BAEN,UAAeC,EAAY,C","sources":["webpack:///./react-rsuite5/three-columns/index.js"],"sourcesContent":["import { ThreeColumns } from '../../common/three-columns';\n\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded RSuite5.ThreeColumns');\n\nexport default ThreeColumns;\n"],"names":["lfLog","ThreeColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-rsuite5/581-19dfc2d6e6461b666846.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_rsuite5=this.webpackChunklets_form_rsuite5||[]).push([[581],{3581:function(e,t,s){s.r(t);var u=s(8169);(0,s(8228).n)("Loaded RSuite5.ReactView"),t.default=u.Y}}]); 2 | //# sourceMappingURL=581-19dfc2d6e6461b666846.map -------------------------------------------------------------------------------- /dist/react-rsuite5/581-19dfc2d6e6461b666846.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"581-19dfc2d6e6461b666846.js","mappings":"iJAIAA,E,QAAAA,GAAM,4BAEN,UAAeC,EAAS,C","sources":["webpack:///./react-rsuite5/react-view/index.js"],"sourcesContent":["import { ReactView } from '../../common/react-view';\n\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded RSuite5.ReactView');\n\nexport default ReactView;\n"],"names":["lfLog","ReactView"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react-rsuite5/978-a0385a88169d57fb0df8.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_rsuite5=this.webpackChunklets_form_rsuite5||[]).push([[978],{978:function(e,t,l){l.r(t);var n=l(8156),a=l.n(n),r=l(8187),o=l.n(r),i=l(9111),u=l(9285),c=l(8228),m=(0,i.mb)((function(e){var t=e.name,l=e.label,n=e.hint,r=e.tooltip,c=void 0!==r&&r,m=e.text,s=e.required,d=void 0!==s&&s;return a().createElement(o().Group,{"data-lf-field-name":t,className:"lf-control-placeholder"},l&&a().createElement(o().ControlLabel,null,l,n&&c&&a().createElement(o().HelpText,{tooltip:!0},n),d&&a().createElement(i.T_,null)),a().createElement(u.Vm,{text:m}),n&&!c&&a().createElement(o().HelpText,null,n))}),["label","hint","text"]);(0,c.n)("Loaded RSuite5.Placeholder"),t.default=m}}]); 2 | //# sourceMappingURL=978-a0385a88169d57fb0df8.map -------------------------------------------------------------------------------- /dist/react-rsuite5/main.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ 8 | -------------------------------------------------------------------------------- /dist/react/469-ef607067ab6669ba66a5.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_react=this.webpackChunklets_form_react||[]).push([[469],{9469:function(e,t,a){a.r(t);var r=a(1782);(0,a(8228).n)("Loaded React.Divider"),t.default=r.iz}}]); 2 | //# sourceMappingURL=469-ef607067ab6669ba66a5.map -------------------------------------------------------------------------------- /dist/react/469-ef607067ab6669ba66a5.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"469-ef607067ab6669ba66a5.js","mappings":"6IAGAA,E,QAAAA,GAAM,wBAEN,UAAeC,EAAO,E","sources":["webpack:///./react/divider/index.js"],"sourcesContent":["import { Divider } from '../../common';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded React.Divider');\n\nexport default Divider;\n"],"names":["lfLog","Divider"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react/480-1a6dd0d100d827e44a84.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_react=this.webpackChunklets_form_react||[]).push([[480],{3480:function(e,t,a){a.r(t);var l=a(8156),r=a.n(l),c=a(1782),n=a(4173),m=a(8228),o=(0,n.mb)((function(e){var t=e.name,a=e.label,l=e.hint,n=e.text;return r().createElement("div",{className:"lf-form-react-control-group lf-control-placeholder","data-lf-field-name":t},a&&r().createElement("label",{for:t},a),r().createElement(c.Vm,{text:n}),l&&r().createElement("div",{className:"lf-form-react-message"},l))}),["label","hint","text"]);(0,m.n)("Loaded React.Placeholder"),t.default=o}}]); 2 | //# sourceMappingURL=480-1a6dd0d100d827e44a84.map -------------------------------------------------------------------------------- /dist/react/481-dbdb3c682a823e16abab.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_react=this.webpackChunklets_form_react||[]).push([[481],{1481:function(t,e,a){a.r(e);var s=a(963);(0,a(8228).n)("Loaded React.TwoColumns"),e.default=s.V}}]); 2 | //# sourceMappingURL=481-dbdb3c682a823e16abab.map -------------------------------------------------------------------------------- /dist/react/481-dbdb3c682a823e16abab.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"481-dbdb3c682a823e16abab.js","mappings":"4IAGAA,E,QAAAA,GAAM,2BAEN,UAAeC,EAAU,C","sources":["webpack:///./react/two-columns/index.js"],"sourcesContent":["import { TwoColumns } from '../../common/two-columns';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded React.TwoColumns');\n\nexport default TwoColumns;\n"],"names":["lfLog","TwoColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react/629-439bc6dac52cc887c992.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_react=this.webpackChunklets_form_react||[]).push([[629],{8629:function(e,t,a){a.r(t);var r=a(7645);(0,a(8228).n)("Loaded React.ThreeColumns"),t.default=r.$}}]); 2 | //# sourceMappingURL=629-439bc6dac52cc887c992.map -------------------------------------------------------------------------------- /dist/react/629-439bc6dac52cc887c992.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"629-439bc6dac52cc887c992.js","mappings":"6IAGAA,E,QAAAA,GAAM,6BAEN,UAAeC,EAAY,C","sources":["webpack:///./react/three-columns/index.js"],"sourcesContent":["import { ThreeColumns } from '../../common/three-columns';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded React.ThreeColumns');\n\nexport default ThreeColumns;\n"],"names":["lfLog","ThreeColumns"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react/784-55e5ed68128157227e4e.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_react=this.webpackChunklets_form_react||[]).push([[784],{784:function(e,t,a){a.r(t);var c=a(8169);(0,a(8228).n)("Loaded React.ReactView"),t.default=c.Y}}]); 2 | //# sourceMappingURL=784-55e5ed68128157227e4e.map -------------------------------------------------------------------------------- /dist/react/784-55e5ed68128157227e4e.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"784-55e5ed68128157227e4e.js","mappings":"4IAGAA,E,QAAAA,GAAM,0BAEN,UAAeC,EAAS,C","sources":["webpack:///./react/react-view/index.js"],"sourcesContent":["import { ReactView } from '../../common/react-view';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded React.ReactView');\n\nexport default ReactView;\n"],"names":["lfLog","ReactView"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react/977-175367dbc465c9192b77.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_react=this.webpackChunklets_form_react||[]).push([[977],{977:function(e,t,a){a.r(t);var c=a(8587);(0,a(8228).n)("Loaded React.PlaceholderImage"),t.default=c.N}}]); 2 | //# sourceMappingURL=977-175367dbc465c9192b77.map -------------------------------------------------------------------------------- /dist/react/977-175367dbc465c9192b77.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"977-175367dbc465c9192b77.js","mappings":"4IAGAA,E,QAAAA,GAAM,iCAEN,UAAeC,EAAgB,C","sources":["webpack:///./react/placeholder-image/index.js"],"sourcesContent":["import { PlaceholderImage } from '../../common/placeholder-image';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded React.PlaceholderImage');\n\nexport default PlaceholderImage;\n"],"names":["lfLog","PlaceholderImage"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react/989-672cd6ef85ea454f71ba.js: -------------------------------------------------------------------------------- 1 | "use strict";(this.webpackChunklets_form_react=this.webpackChunklets_form_react||[]).push([[989],{989:function(t,e,a){a.r(e);var r=a(8727);(0,a(8228).n)("Loaded React.Group"),e.default=r.Z}}]); 2 | //# sourceMappingURL=989-672cd6ef85ea454f71ba.map -------------------------------------------------------------------------------- /dist/react/989-672cd6ef85ea454f71ba.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"989-672cd6ef85ea454f71ba.js","mappings":"4IAGAA,E,QAAAA,GAAM,sBAEN,UAAeC,EAAK,C","sources":["webpack:///./react/group/index.js"],"sourcesContent":["import { Group } from '../../common/group';\nimport { lfLog } from '../../helpers/lf-log';\n\nlfLog('Loaded React.Group');\n\nexport default Group;\n"],"names":["lfLog","Group"],"sourceRoot":""} -------------------------------------------------------------------------------- /dist/react/main.js.LICENSE.txt: -------------------------------------------------------------------------------- 1 | /*! 2 | Copyright (c) 2018 Jed Watson. 3 | Licensed under the MIT License (MIT), see 4 | http://jedwatson.github.io/classnames 5 | */ 6 | 7 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ 8 | -------------------------------------------------------------------------------- /form-context/index.js: -------------------------------------------------------------------------------- 1 | import { createContext } from 'react'; 2 | 3 | const FormContext = createContext(); 4 | 5 | export default FormContext; 6 | -------------------------------------------------------------------------------- /form-context/placeholder.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guidone/lets-form/73473f58a07c8b41e6da11e178a1470f1267c37a/form-context/placeholder.txt -------------------------------------------------------------------------------- /generator/helpers/error-to-string.js: -------------------------------------------------------------------------------- 1 | export const errorToString = error => { 2 | if (error) { 3 | if (error.message) { 4 | return error.message; 5 | } else if (error.type === 'required') { 6 | return 'This field is required'; 7 | } else if (error.type === 'minLength') { 8 | return 'Text is too short'; 9 | } else if (error.type === 'maxLength') { 10 | return 'Text is too long'; 11 | } else if (error.type === 'max') { 12 | return 'Value is too big'; 13 | } else if (error.type === 'min') { 14 | return 'Value is too small'; 15 | } 16 | return 'Invalid value'; 17 | } 18 | return undefined; 19 | }; -------------------------------------------------------------------------------- /generator/helpers/missing-component.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import _ from 'lodash'; 3 | import { Warning } from '../../assets/icons'; 4 | 5 | export const MissingComponent = ({ lfComponent, label, lfFramework }) => { 6 | return ( 7 |
8 |
9 | 10 |
11 |
12 | The component {lfComponent} ("{_.isString(label) ? label : 'unknown'}") 13 | is not available for this framework ({lfFramework}) 14 |
15 |
16 | ); 17 | } -------------------------------------------------------------------------------- /helpers/collect-names.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | import { reduceFields } from './reduce-fields'; 4 | 5 | export const collectNames = form => { 6 | if (form && _.isArray(form.fields) && !_.isEmpty(form.fields)) { 7 | return reduceFields( 8 | form.fields, 9 | (field, accumulator) => { 10 | if (!accumulator.includes(field.name)) { 11 | return [...accumulator, field.name]; 12 | } 13 | return accumulator; 14 | }, 15 | [] 16 | ); 17 | } 18 | return []; 19 | }; 20 | -------------------------------------------------------------------------------- /helpers/connectors/air-table.js: -------------------------------------------------------------------------------- 1 | const AirTable = async ({ 2 | data, 3 | options = {}, 4 | fetch 5 | }) => { 6 | const opts = { 7 | webhookUrl: null, 8 | ...options 9 | }; 10 | 11 | return fetch( 12 | opts.webhookUrl, 13 | { 14 | method: 'POST', 15 | headers: { 16 | 'Content-Type': 'application/json' 17 | }, 18 | body: JSON.stringify(data) 19 | } 20 | ); 21 | }; 22 | 23 | export { AirTable }; 24 | -------------------------------------------------------------------------------- /helpers/connectors/form-carry.js: -------------------------------------------------------------------------------- 1 | const FormCarry = async ({ 2 | data, 3 | options, 4 | fetch 5 | }) => { 6 | const opts = { 7 | url: null, 8 | ...options 9 | }; 10 | 11 | return await fetch( 12 | opts.url, 13 | { 14 | method: 'POST', 15 | headers: { 16 | 'Content-Type': 'application/json', 17 | 'Accept': 'application/json', 18 | }, 19 | body: JSON.stringify(data) 20 | } 21 | ); 22 | }; 23 | 24 | export { FormCarry }; 25 | -------------------------------------------------------------------------------- /helpers/connectors/form-spark-io.js: -------------------------------------------------------------------------------- 1 | const FormSparkIo = async ({ 2 | data, 3 | options = {}, 4 | fetch 5 | }) => { 6 | const opts = { 7 | formId: null, 8 | ...options 9 | }; 10 | 11 | return await fetch( 12 | `https://submit-form.com/${opts.formId}`, 13 | { 14 | method: 'POST', 15 | headers: { 16 | 'Content-Type': 'application/json', 17 | 'Accept': 'application/json' 18 | }, 19 | body: JSON.stringify(data) 20 | } 21 | ); 22 | }; 23 | 24 | export { FormSparkIo }; 25 | -------------------------------------------------------------------------------- /helpers/connectors/get-form-io.js: -------------------------------------------------------------------------------- 1 | const GetFormIo = async ({ 2 | data, 3 | options = {}, 4 | fetch 5 | }) => { 6 | const opts = { 7 | url: null, 8 | ...options 9 | }; 10 | 11 | const formData = new FormData(); 12 | Object.keys(data) 13 | .forEach(key => formData.append( 14 | key, 15 | typeof data[key] === 'string' ? data[key] : JSON.stringify(data[key]) 16 | )); 17 | 18 | return await fetch( 19 | opts.url, 20 | { 21 | method: 'POST', 22 | headers: { 23 | 'Content-Type': 'application/json' 24 | }, 25 | body: formData 26 | } 27 | ); 28 | }; 29 | 30 | export { GetFormIo }; 31 | -------------------------------------------------------------------------------- /helpers/connectors/http-call.js: -------------------------------------------------------------------------------- 1 | const HttpCall = async ({ 2 | data, 3 | options, 4 | fetch 5 | }) => { 6 | const opts = { 7 | method: 'POST', 8 | ...options 9 | }; 10 | 11 | const headers = { 12 | 'Content-Type': 'application/json' 13 | }; 14 | 15 | if (opts.authorization === 'bearer') { 16 | headers.Authorization = `Bearer ${opts.bearerToken}`; 17 | } else if (opts.authorization === 'basic') { 18 | const hash = btoa(opts.username + ':' + opts.password); 19 | headers.Authorization = `Basic ${hash}`; 20 | } 21 | 22 | return await fetch( 23 | opts.url, 24 | { 25 | method: opts.method, 26 | headers, 27 | redirect: 'follow', 28 | body: JSON.stringify(data) 29 | } 30 | ); 31 | }; 32 | 33 | export { HttpCall }; 34 | -------------------------------------------------------------------------------- /helpers/connectors/iftt.js: -------------------------------------------------------------------------------- 1 | const IFTT = async ({ 2 | data, 3 | options 4 | }) => { 5 | const opts = Object.assign({ 6 | key: null, 7 | eventName: null 8 | }, options); 9 | 10 | return await fetch( 11 | `https://maker.ifttt.com/trigger/${opts.eventName}/json/with/key/${opts.key}`, 12 | { 13 | method: 'POST', 14 | headers: { 15 | 'Content-Type': 'application/json' 16 | }, 17 | redirect: 'follow', 18 | body: JSON.stringify(data), 19 | mode: 'no-cors' 20 | } 21 | ); 22 | }; 23 | 24 | export { IFTT }; 25 | -------------------------------------------------------------------------------- /helpers/connectors/index.js: -------------------------------------------------------------------------------- 1 | export * from './http-call'; 2 | export * from './get-form-io'; 3 | export * from './iftt'; 4 | export * from './notion'; 5 | export * from './zapier'; 6 | export * from './form-spark-io'; 7 | export * from './air-table'; 8 | export * from './form-carry'; 9 | -------------------------------------------------------------------------------- /helpers/connectors/zapier.js: -------------------------------------------------------------------------------- 1 | const Zapier = async ({ 2 | data, 3 | options, 4 | fetch 5 | }) => { 6 | const opts = Object.assign({ 7 | url: null 8 | }, options); 9 | 10 | return await fetch( 11 | opts.url, 12 | { 13 | method: 'POST', 14 | headers: new Headers({ 15 | 'Content-Type': 'application/json', 16 | }), 17 | body: JSON.stringify(data), 18 | //mode: 'no-cors' 19 | } 20 | ); 21 | }; 22 | 23 | export { Zapier }; 24 | -------------------------------------------------------------------------------- /helpers/fields-keys.js: -------------------------------------------------------------------------------- 1 | const FIELDS_KEY = ['fields', 'leftFields', 'rightField', 'centerFields']; 2 | 3 | export { FIELDS_KEY }; -------------------------------------------------------------------------------- /helpers/fill-ids.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | import { mapFields } from './map-fields'; 4 | 5 | const fillIds = (fields, namespace = '') => { 6 | return mapFields( 7 | fields, 8 | field => { 9 | // if not id, then create it 10 | if (!field.id) { 11 | return { 12 | id: _.uniqueId(namespace), 13 | ...field 14 | }; 15 | } 16 | // special case of array 17 | //if (field.component === 'array') { 18 | // field.fields = fillIds(field.fields); 19 | //} 20 | return field; 21 | } 22 | ); 23 | }; 24 | 25 | export { fillIds } -------------------------------------------------------------------------------- /helpers/filter-options.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | export const filterOptions = ( 4 | options, 5 | filterValue, 6 | filterKey = 'value' 7 | ) => { 8 | if (_.isArray(options) && !_.isEmpty(filterKey) && !_.isEmpty(filterValue)) { 9 | return options 10 | .filter(item => item[filterKey] === filterValue); 11 | } 12 | return options; 13 | }; 14 | -------------------------------------------------------------------------------- /helpers/form-has-components.js: -------------------------------------------------------------------------------- 1 | import { reduceFields } from './reduce-fields'; 2 | 3 | const formHasComponents = (form, component) => { 4 | const components = Array.isArray(component) ? component : [component]; 5 | 6 | const result = reduceFields( 7 | form.fields, 8 | (field, accumulator) => components.includes(field.component) ? 9 | accumulator + 1 : accumulator, 10 | 0 11 | ); 12 | 13 | return result !== 0; 14 | }; 15 | 16 | export { formHasComponents }; 17 | -------------------------------------------------------------------------------- /helpers/format-bytes.js: -------------------------------------------------------------------------------- 1 | function formatBytes(bytes, decimals = 2) { 2 | if (!+bytes) return '0 Bytes' 3 | 4 | const k = 1024 5 | const dm = decimals < 0 ? 0 : decimals 6 | const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'] 7 | 8 | const i = Math.floor(Math.log(bytes) / Math.log(k)) 9 | 10 | return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}` 11 | } 12 | 13 | export { formatBytes }; 14 | -------------------------------------------------------------------------------- /helpers/get-locales.js: -------------------------------------------------------------------------------- 1 | import { LOCALES } from '../common/data/locales'; 2 | 3 | const LANGUAGES_OPTIONS = Object 4 | .keys(LOCALES['language-names']) 5 | .map(lang => ({ 6 | code: lang, 7 | name: LOCALES['language-names'][lang][1], 8 | label: `${LOCALES['language-names'][lang][1]}` 9 | })); 10 | 11 | export const getLocales = () => LANGUAGES_OPTIONS; 12 | -------------------------------------------------------------------------------- /helpers/i18n-options.js: -------------------------------------------------------------------------------- 1 | export const i18nOptions = (value, i18n) => 2 | (value ?? []).filter(value => value != null).map(value => ({ 3 | ...value, 4 | label: i18n(value.label), 5 | description: i18n(value.description) 6 | })); 7 | -------------------------------------------------------------------------------- /helpers/index-export.js: -------------------------------------------------------------------------------- 1 | export * from './replace-field'; 2 | export * from './map-fields'; 3 | export * from './fill-ids'; 4 | export * from './cleanup'; 5 | export * from './find-field'; 6 | export * from './filter-fields'; 7 | export * from './form-helper'; 8 | export * from './validate-form'; 9 | export * from './form-has-components'; 10 | -------------------------------------------------------------------------------- /helpers/index.js: -------------------------------------------------------------------------------- 1 | export * from './replace-field'; 2 | export * from './map-fields'; 3 | export * from './fill-ids'; 4 | export * from './cleanup'; 5 | export * from './find-field'; 6 | export * from './apply-form-rules'; 7 | export * from './is-valid-dayjs-format'; 8 | export * from './filter-fields'; 9 | export * from './get-locales'; 10 | export * from './i18n'; 11 | export * from './pass-rest'; 12 | export * from './filter-options'; 13 | export * from './is-empty-form'; 14 | export * from './is-i18n'; 15 | export * from './apply-transformers'; 16 | export * from './is-url'; 17 | export * from './make-width-style'; 18 | export * from './collect-names'; 19 | export * from './is-valid-date'; 20 | export * from './form-helper'; 21 | export * from './i18n-options'; 22 | export * from './is-children-of'; 23 | export * from './validate-form'; 24 | export * from './form-has-components'; 25 | export * from './is-valid-time'; 26 | export * from './omit-fields'; 27 | export * from './some-fields'; 28 | 29 | import * as Connectors from './connectors'; 30 | export { Connectors }; 31 | -------------------------------------------------------------------------------- /helpers/is-empty-form.js: -------------------------------------------------------------------------------- 1 | export const isEmptyForm = form => { 2 | return !form || !Array.isArray(form.fields) || form.fields.length === 0; 3 | }; 4 | -------------------------------------------------------------------------------- /helpers/is-i18n.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | export const isI18n = obj => { 4 | return _.isObject(obj) && Object.keys(obj).every(key => key.length === 2 || (key.length === 5 && key[2] === '-')); 5 | }; 6 | -------------------------------------------------------------------------------- /helpers/is-url.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | export const isUrl = url => _.isString(url) && url.match(/^http[s]{0,1}:\/\//); 4 | -------------------------------------------------------------------------------- /helpers/is-valid-date.js: -------------------------------------------------------------------------------- 1 | /** 2 | * isValidDate 3 | * _.date() is not enough, it could be a date object but an invalid date, in that 4 | * case toISOString will fail 5 | * @param {} d 6 | * @returns 7 | */ 8 | export const isValidDate = d => d instanceof Date && !isNaN(d); 9 | -------------------------------------------------------------------------------- /helpers/is-valid-dayjs-format.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | const DAYJS_VALID_TOKENS =  ['YY', 'YYYY', 'M', 'MM', 'MMM', 'MMMM', 'D', 'DD', 'Do', 'd', 'dd', 'ddd', 'dddd', 'A', 'a', 'H', 'HH', 'h', 'hh', 'm', 'mm', 's', 'ss']; 4 | 5 | const isValidDayjsFormat = str => { 6 | if (_.isString(str) && !_.isEmpty(str)) { 7 | const tokens = str.match(/([A-Za-z0-9]{1,})/gm); 8 | const isValid = tokens.every(t => DAYJS_VALID_TOKENS.includes(t)); 9 | if (!isValid) { 10 | console.error([`MUI: The token "${str}" is not supported by the Date and Time Pickers.`, 'Please try using another token or open an issue on https://github.com/mui/mui-x/issues/new/choose if you think it should be supported.'].join('\n')); 11 | } 12 | return isValid; 13 | } 14 | return false; 15 | }; 16 | 17 | export { isValidDayjsFormat }; 18 | -------------------------------------------------------------------------------- /helpers/is-valid-time.js: -------------------------------------------------------------------------------- 1 | /** 2 | * isValidTime 3 | * 4 | * @param {} d Time string (i.e. 12:12:00) 5 | * @returns 6 | */ 7 | export const isValidTime = d => { 8 | return typeof d === 'string' && d.match(/^[0-9]{1,2}:[0-9]{2,2}(:[0-9]{2,2}){0,1}$/) != null; 9 | }; 10 | -------------------------------------------------------------------------------- /helpers/lf-log.js: -------------------------------------------------------------------------------- 1 | const lfLog = s => console.log('%cLF%c ' + s, 'background: #3498ff; color: #ffffff; padding: 2px; border-radius: 3px', ''); 2 | const lfError = (s, e) => console.log('%cLF%c Error: ' + s, 'background: #E44D2E; color: #ffffff; padding: 2px; border-radius: 3px', '', e ?? ''); 3 | const lfWarn = (s, e) => console.log('%cLF%c Warning: ' + s, 'background: #FFBF00; color: #ffffff; padding: 2px; border-radius: 3px', '', e ?? ''); 4 | const lfLogPlugin = s => console.log('%cLF%c ' + s, 'background: #49796B; color: #ffffff; padding: 2px; border-radius: 3px', ''); 5 | export { lfLog, lfError, lfLogPlugin, lfWarn }; -------------------------------------------------------------------------------- /helpers/make-class-name.js: -------------------------------------------------------------------------------- 1 | import classNames from 'classnames'; 2 | 3 | export const makeClassName = function() { 4 | const [component, name, ...rest] = Array.from(arguments); 5 | 6 | return { 7 | className: classNames(`lf-control-${component}`, `lf-field-${name}`, ...(rest ?? [])), 8 | 'data-lf-field-name': name 9 | }; 10 | }; 11 | -------------------------------------------------------------------------------- /helpers/make-width-style.js: -------------------------------------------------------------------------------- 1 | export const makeWidthStyle = (fullWidth, width, style = {}) => { 2 | if (fullWidth) { 3 | return { 4 | ...style, 5 | width: '100%' 6 | }; 7 | } else if (width) { 8 | return { 9 | ...style, 10 | width: `${parseInt(width, 10)}px` 11 | }; 12 | } 13 | return { 14 | ...style, 15 | width: 'auto' 16 | }; 17 | }; 18 | -------------------------------------------------------------------------------- /helpers/merge-fields.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | function mergeFields() { 4 | let idx; 5 | let result = {}; 6 | for(idx = 0; idx < arguments.length; idx++) { 7 | const fields = arguments[idx]; 8 | // iterate keys 'toggle', 'input-number', etc 9 | _.keys(fields).forEach(key => { 10 | if (_.isEmpty(result[key])) { 11 | result[key] = fields[key]; 12 | } else { 13 | result[key] = { 14 | ...result[key], 15 | ...fields[key] 16 | }; 17 | } 18 | }); 19 | } 20 | return result; 21 | }; 22 | 23 | export { mergeFields }; 24 | -------------------------------------------------------------------------------- /helpers/omit-fields.js: -------------------------------------------------------------------------------- 1 | import { filterFields } from './filter-fields'; 2 | 3 | export const omitFields = (fields, fieldNames = []) => { 4 | const toBeOmitted = Array.isArray(fieldNames) ? fieldNames : [fieldNames]; 5 | 6 | return filterFields( 7 | fields, 8 | field => !toBeOmitted.includes(field.name) 9 | ); 10 | }; 11 | -------------------------------------------------------------------------------- /helpers/pass-rest.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | 3 | const EXCLUDED_LETSFORM_FIELDS = [ 4 | 'lfFramework', 5 | 'lfComponent', 6 | 'lfLocale', 7 | 'lfOnEnter', 8 | 'transformer', 9 | 'script' 10 | ]; 11 | 12 | /** 13 | * passRest 14 | * Help method to filter props passed with the rest props, removing lets-form specific properties 15 | * @param {*} props 16 | * @param {*} additional 17 | * @returns 18 | */ 19 | export const passRest = (props, additional = []) => 20 | _.omit(props, [...EXCLUDED_LETSFORM_FIELDS, ...(_.isArray(additional) ? additional : [additional])]); 21 | -------------------------------------------------------------------------------- /helpers/replace-field.js: -------------------------------------------------------------------------------- 1 | import { mapFields } from './map-fields'; 2 | 3 | const replaceField = (form, field) => { 4 | return { 5 | ...form, 6 | fields: mapFields( 7 | form.fields, 8 | currentField => { 9 | if (currentField.id === field.id) { 10 | return field; 11 | } 12 | return currentField; 13 | } 14 | ) 15 | } 16 | }; 17 | 18 | export { replaceField }; -------------------------------------------------------------------------------- /helpers/some-fields.js: -------------------------------------------------------------------------------- 1 | import { reduceFields } from './reduce-fields'; 2 | 3 | /** 4 | * someFields 5 | * Returns true if any of the fields of the form satisfy the predicate 6 | * @param {*} fields 7 | * @param {*} predicate 8 | * @returns {boolean} 9 | */ 10 | export const someFields = (fields, predicate) => { 11 | const arr = reduceFields( 12 | fields, 13 | (field, accumulator) => ([...accumulator, !!predicate(field)]), 14 | [] 15 | ); 16 | return arr.some(item => item); 17 | }; 18 | -------------------------------------------------------------------------------- /helpers/time-to-dayjs-time.js: -------------------------------------------------------------------------------- 1 | import dayjs from 'dayjs'; 2 | 3 | export const timeToDayJSTime = str => { 4 | const [hours, minutes, seconds] = str.split(':'); 5 | 6 | if (hours || minutes || seconds) { 7 | console.log('splittato ', hours, minutes, seconds) 8 | let d = dayjs(); 9 | if (hours) { 10 | d = d.hour(hours); 11 | } 12 | if (minutes) { 13 | d = d.minute(minutes); 14 | } 15 | if (seconds) { 16 | d = d.second(seconds); 17 | } 18 | return d; 19 | } 20 | return undefined; 21 | }; 22 | -------------------------------------------------------------------------------- /helpers/today-with-time.js: -------------------------------------------------------------------------------- 1 | import { isValidTime } from './is-valid-time'; 2 | 3 | const toInt = s => { 4 | return !isNaN(parseInt(s, 10)) ? parseInt(s, 10) : undefined; 5 | }; 6 | 7 | const todayWithTime = s => { 8 | if (isValidTime(s)) { 9 | const [hours, minutes, seconds] = s.split(':'); 10 | const d = new Date(); 11 | d.setHours( 12 | toInt(hours), 13 | toInt(minutes), 14 | toInt(seconds) 15 | ); 16 | return d; 17 | } 18 | return undefined; 19 | }; 20 | 21 | export { todayWithTime }; 22 | -------------------------------------------------------------------------------- /helpers/try-parse-date-dayjs.js: -------------------------------------------------------------------------------- 1 | import _ from 'lodash'; 2 | import dayjs from 'dayjs'; 3 | 4 | import { isValidDate } from './is-valid-date'; 5 | 6 | export const tryParseDateDayJs = value => { 7 | if (_.isDate(value)) { 8 | return dayjs(value); 9 | } else if (_.isString(value)) { 10 | const d = new Date(value); 11 | if (isValidDate(d)) { 12 | return dayjs(d); 13 | } 14 | } 15 | return undefined; 16 | }; 17 | -------------------------------------------------------------------------------- /helpers/wrap-on-change.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | /** 4 | * wrapOnChange 5 | * Wrap the component into HOC which normalize the onChange method, first argument the value, 6 | * second argument the field name. This makes the onChange function of the the form generator 7 | * referential stable 8 | */ 9 | const wrapOnChange = Component => { 10 | return ({ onChange, ...rest }) => { 11 | 12 | const handleChange = useCallback( 13 | value => onChange(value, rest.name), 14 | [onChange] 15 | ); 16 | 17 | return ( 18 | 22 | ); 23 | }; 24 | }; 25 | 26 | export { wrapOnChange }; 27 | -------------------------------------------------------------------------------- /hooks/index.js: -------------------------------------------------------------------------------- 1 | import { useContext, useEffect } from 'react'; 2 | import _ from 'lodash'; 3 | 4 | import FormContext from '../form-context'; 5 | 6 | export const useFormContext = () => { 7 | const context = useContext(FormContext); 8 | 9 | // put here some defaults 10 | 11 | return context; 12 | }; 13 | 14 | export const useStylesheet = (id, css) => { 15 | useEffect( 16 | () => { 17 | if (!_.isEmpty(css)) { 18 | const head = document.head; 19 | const style = document.createElement("style"); 20 | style.id = `letsform-sheet-${id}`; 21 | style.innerHTML = css.replaceAll( 22 | '.lf-current-form', 23 | `.lf-lets-form [data-lf-form-name=${id}]` 24 | ); 25 | head.appendChild(style); 26 | } 27 | 28 | return () => { 29 | if (!_.isEmpty(css)) { 30 | document.querySelector(`#letsform-sheet-${id}`)?.remove(); 31 | } 32 | }; 33 | }, 34 | [css, id] 35 | ); 36 | } 37 | -------------------------------------------------------------------------------- /hooks/placeholder.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guidone/lets-form/73473f58a07c8b41e6da11e178a1470f1267c37a/hooks/placeholder.txt -------------------------------------------------------------------------------- /icons/icons/asterisk.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const Asterisk = ({ width = 24, height = 24, color = '#000000', style }) => ( 4 | 12 | 13 | 16 | 17 | 18 | ); 19 | -------------------------------------------------------------------------------- /icons/icons/check.js: -------------------------------------------------------------------------------- 1 | export const IconCheck = ({ width = 24, height = 24 }) => ( 2 | 3 | 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /icons/icons/chevron-down.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const ChevronDown = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /icons/icons/chevron-up.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const ChevronUp = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /icons/icons/cross-circle.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const CrossCirle = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /icons/icons/index.js: -------------------------------------------------------------------------------- 1 | export * from './plus-circle'; 2 | export * from './minus-circle'; 3 | export * from './chevron-down'; 4 | export * from './chevron-up'; 5 | export * from './asterisk'; 6 | export * from './warning'; 7 | export * from './cross-circle'; 8 | export * from './check'; 9 | -------------------------------------------------------------------------------- /icons/icons/minus-circle.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const MinusCircle = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); -------------------------------------------------------------------------------- /icons/icons/plus-circle.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const PlusCircle = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); 8 | -------------------------------------------------------------------------------- /icons/icons/warning.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | export const Warning = ({ width = 24, height = 24, color = '#000000' }) => ( 4 | 5 | 6 | 7 | ); -------------------------------------------------------------------------------- /react-antd/array/array.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | 3 | .lf-control-common-array-item { 4 | .ant-form-item { 5 | margin-bottom: 0px !important; 6 | } 7 | } 8 | 9 | .lf-control-common-array-item { 10 | padding-bottom: 5px; 11 | } 12 | 13 | .lf-control-two-columns:last-child { 14 | margin-bottom: 0px; 15 | } 16 | 17 | .lf-control-three-columns:last-child { 18 | margin-bottom: 0px; 19 | } 20 | } -------------------------------------------------------------------------------- /react-antd/button/button.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | .lf-control-button { 3 | min-height: 20px; 4 | 5 | .ant-btn { 6 | min-width: 32px; 7 | } 8 | 9 | .lf-icon { 10 | max-width: 16px; 11 | max-height: 16px; 12 | margin-top: -2px; 13 | 14 | } 15 | 16 | .ant-btn-lg { 17 | min-width: 40px; 18 | .lf-icon { 19 | max-width: 20px; 20 | max-height: 20px; 21 | } 22 | } 23 | 24 | .ant-btn-sm { 25 | min-width: 24px; 26 | .lf-icon { 27 | max-width: 14px; 28 | max-height: 14px; 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /react-antd/columns/index.js: -------------------------------------------------------------------------------- 1 | import { Columns } from '../../common/columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export default Columns; 8 | -------------------------------------------------------------------------------- /react-antd/form/index.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | 3 | .ant-form-item { 4 | margin-bottom: 0px; 5 | } 6 | 7 | .lf-buttons { 8 | display: flex; 9 | 10 | button:not(:first-child) { 11 | margin-left: 10px; 12 | } 13 | } 14 | 15 | // reduce margin in plaintext mode 16 | &.lf-form-react-antd-plaintext { 17 | .ant-col.ant-form-item-label { 18 | padding-bottom: 0px; 19 | } 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /react-antd/group/group.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | .lf-control-group { 3 | .ant-form-item:last-child { 4 | margin-bottom: 0px; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-antd/group/index.js: -------------------------------------------------------------------------------- 1 | import { Group } from '../../common/group'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | import './group.scss'; 5 | 6 | lfLog('Loaded AntD.Group'); 7 | 8 | export default Group; 9 | -------------------------------------------------------------------------------- /react-antd/input-text/input-text.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | .lf-control-input-text { 3 | 4 | .lf-prefix-icon { 5 | max-height: 16px; 6 | } 7 | 8 | &.lf-size-small { 9 | .lf-prefix-icon { 10 | max-height: 12px; 11 | } 12 | } 13 | 14 | &.lf-size-large { 15 | .lf-prefix-icon { 16 | max-height: 18px; 17 | } 18 | } 19 | 20 | input[type="color"] { 21 | min-width: 60px; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /react-antd/multiselect/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { I18N } from '../../components/i18n'; 4 | import { i18nOptions } from '../../helpers/i18n-options'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | import { makeClassName } from '../../helpers/make-class-name'; 7 | import { AntdGenericSelect } from '../../components/antd-select'; 8 | 9 | const Multiselect = I18N( 10 | (props) => { 11 | return ( 12 | 17 | ); 18 | }, 19 | ['label', 'hint', 'placeholder'], 20 | { 21 | options: i18nOptions 22 | } 23 | ); 24 | lfLog('Loaded AntD.Multiselect'); 25 | 26 | export default Multiselect; 27 | -------------------------------------------------------------------------------- /react-antd/object/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import LetsForm from '../../react-antd'; 4 | import { CommonObject } from '../../common/object'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const ReactAntDObject = props => ( 8 | 12 | ); 13 | lfLog('Loaded AntD.Object'); 14 | 15 | export default ReactAntDObject; 16 | -------------------------------------------------------------------------------- /react-antd/placeholder-image/index.js: -------------------------------------------------------------------------------- 1 | import { PlaceholderImage } from '../../common/placeholder-image'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded AntD.PlaceholderImage'); 6 | 7 | export default PlaceholderImage; 8 | -------------------------------------------------------------------------------- /react-antd/placeholder/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Form } from 'antd'; 3 | 4 | import { Placeholder } from '../../common/placeholder'; 5 | import { I18N } from '../../components/i18n'; 6 | import { lfLog } from '../../helpers/lf-log'; 7 | import { makeClassName } from '../../helpers/make-class-name'; 8 | 9 | const PlaceholderAntd = I18N( 10 | ({ 11 | name, 12 | hint, 13 | text, 14 | tooltip, 15 | label, 16 | className 17 | }) => { 18 | return ( 19 | 26 | 27 | 28 | ); 29 | }, 30 | ['label', 'hint', 'text'] 31 | ); 32 | lfLog('Loaded AntD.Placeholder'); 33 | 34 | export default PlaceholderAntd; -------------------------------------------------------------------------------- /react-antd/react-view/index.js: -------------------------------------------------------------------------------- 1 | import { ReactView } from '../../common/react-view'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded AntD.ReactView'); 5 | 6 | export default ReactView; 7 | -------------------------------------------------------------------------------- /react-antd/select/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { I18N } from '../../components/i18n'; 4 | import { i18nOptions } from '../../helpers/i18n-options'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | import { AntdGenericSelect } from '../../components/antd-select'; 7 | import { makeClassName } from '../../helpers/make-class-name'; 8 | 9 | const SelectAntd = I18N( 10 | (props) => { 11 | return ( 12 | 16 | ); 17 | }, 18 | ['label', 'hint', 'placeholder'], 19 | { 20 | options: i18nOptions 21 | } 22 | ); 23 | lfLog('Loaded AntD.Select'); 24 | 25 | export default SelectAntd; 26 | -------------------------------------------------------------------------------- /react-antd/steps/index.js: -------------------------------------------------------------------------------- 1 | import AntdSteps from './steps'; 2 | 3 | export default AntdSteps; -------------------------------------------------------------------------------- /react-antd/steps/steps.scss: -------------------------------------------------------------------------------- 1 | .lf-control-steps { 2 | .lf-step { 3 | margin-top: var(--lf-field-margin); 4 | margin-bottom: var(--lf-field-margin); 5 | } 6 | 7 | .lf-navigation-buttons.left { 8 | text-align: left; 9 | } 10 | .lf-navigation-buttons.right { 11 | text-align: right; 12 | } 13 | .lf-navigation-buttons.center { 14 | text-align: center; 15 | } 16 | } 17 | 18 | .lf-form-react-antd { 19 | .lf-control-steps { 20 | .ant-steps-icon svg { 21 | vertical-align: baseline; 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /react-antd/tabs/tabs.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | .lf-control-tabs { 3 | .tab-fields { 4 | margin-top: 0px; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-antd/three-columns/index.js: -------------------------------------------------------------------------------- 1 | import { ThreeColumns } from '../../common/three-columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | import './three-columns.scss'; 6 | 7 | lfLog('Loaded AntD.ThreeColumns'); 8 | 9 | export default ThreeColumns; 10 | -------------------------------------------------------------------------------- /react-antd/three-columns/three-columns.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | .lf-control-three-columns { 3 | .ant-form-item:last-child { 4 | margin-bottom: 0px; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-antd/two-columns/index.js: -------------------------------------------------------------------------------- 1 | import { TwoColumns } from '../../common/two-columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | import './two-columns.scss'; 6 | 7 | lfLog('Loaded AntD.TwoColumns'); 8 | 9 | export default TwoColumns; 10 | -------------------------------------------------------------------------------- /react-antd/two-columns/two-columns.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-antd { 2 | .lf-control-two-columns { 3 | .ant-form-item:last-child { 4 | margin-bottom: 0px; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-antd/upload/upload.scss: -------------------------------------------------------------------------------- 1 | .lf-control-upload { 2 | .upload-layout { 3 | display: flex; 4 | flex-direction: row; 5 | flex-wrap: wrap; 6 | justify-content: flex-start; 7 | align-content: stretch; 8 | align-items: center; 9 | 10 | .upload { 11 | order: 0; 12 | flex: 0 0 auto; 13 | align-self: auto; 14 | } 15 | 16 | .hint { 17 | margin-left: var(--lf-field-column-margin); 18 | order: 0; 19 | flex: 1 0 auto; 20 | align-self: auto; 21 | } 22 | } 23 | } -------------------------------------------------------------------------------- /react-bootstrap/button/button.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-bootstrap { 2 | .lf-control-button { 3 | min-height: 20px; 4 | 5 | .lf-icon { 6 | max-width: 20px; 7 | max-height: 20px; 8 | margin-top: -2px; 9 | margin-right: 5px; 10 | } 11 | 12 | .btn-lg { 13 | .lf-icon { 14 | max-width: 24px; 15 | max-height: 24px; 16 | } 17 | } 18 | 19 | .btn-sm { 20 | .lf-icon { 21 | max-width: 16px; 22 | max-height: 16px; 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /react-bootstrap/columns/index.js: -------------------------------------------------------------------------------- 1 | import { Columns } from '../../common/columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export default Columns; 8 | -------------------------------------------------------------------------------- /react-bootstrap/form/index.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-bootstrap { 2 | .lf-buttons { 3 | display: flex; 4 | 5 | button:not(:first-child) { 6 | margin-left: 10px; 7 | } 8 | } 9 | 10 | .invalid-feedback { 11 | // no reason why it's hidden 12 | display: inherit !important; 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /react-bootstrap/group/index.js: -------------------------------------------------------------------------------- 1 | import { Group } from '../../common'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded ReactBootrap.Group'); 5 | 6 | export default Group; 7 | -------------------------------------------------------------------------------- /react-bootstrap/input-text/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | import { I18N } from '../../components/i18n'; 4 | import { BootstrapGenericInput } from '../../components/bootstrap-generic-input'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | // DOC: https://react-bootstrap.github.io/forms/form-control/#form-control-props 8 | 9 | const TextInput = I18N( 10 | ({ 11 | onChange, 12 | ...rest 13 | }) => { 14 | const handleChange = useCallback( 15 | e => { 16 | onChange(e.target.value); 17 | }, 18 | [onChange] 19 | ); 20 | 21 | return ( 22 | 27 | ); 28 | }, 29 | ['label', 'hint', 'placeholder'] 30 | ); 31 | lfLog('Loaded ReactBootrap.Input'); 32 | 33 | export default TextInput; -------------------------------------------------------------------------------- /react-bootstrap/object/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import LetsForm from '../../react-bootstrap'; 4 | import { CommonObject } from '../../common/object'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const ReactBoostrapObject = props => ( 8 | 12 | ); 13 | lfLog('Loaded ReactBootstrap.Object'); 14 | 15 | export default ReactBoostrapObject; 16 | -------------------------------------------------------------------------------- /react-bootstrap/placeholder-image/index.js: -------------------------------------------------------------------------------- 1 | import { PlaceholderImage } from '../../common'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded ReactBootrap.PlaceholderImage'); 5 | 6 | export default PlaceholderImage; 7 | -------------------------------------------------------------------------------- /react-bootstrap/placeholder/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Form from 'react-bootstrap/Form'; 3 | 4 | import { Placeholder } from '../../common/placeholder'; 5 | import { I18N } from '../../components/i18n'; 6 | import { lfLog } from '../../helpers/lf-log'; 7 | import { makeClassName } from '../../helpers/make-class-name'; 8 | 9 | const PlaceholderBootstrap = I18N( 10 | ({ 11 | label, 12 | hint, 13 | text, 14 | name, 15 | className 16 | }) => { 17 | return ( 18 | 19 | {label && ( 20 | 21 | {label} 22 | 23 | )} 24 | 25 | {hint && {hint}} 26 | 27 | ); 28 | }, 29 | ['label', 'hint', 'text'] 30 | ); 31 | lfLog('Loaded ReactBootrap.Placeholder'); 32 | 33 | export default PlaceholderBootstrap; 34 | -------------------------------------------------------------------------------- /react-bootstrap/react-view/index.js: -------------------------------------------------------------------------------- 1 | import { ReactView } from '../../common'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded ReactBootrap.ReactView'); 5 | 6 | export default ReactView; 7 | -------------------------------------------------------------------------------- /react-bootstrap/tabs/tabs.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-bootstrap { 2 | .lf-control-tabs { 3 | [role=tabpanel] { 4 | padding-top: var(--lf-field-margin); 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-bootstrap/three-columns/index.js: -------------------------------------------------------------------------------- 1 | import { ThreeColumns } from '../../common'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded ReactBootrap.ThreeColumn'); 5 | 6 | export default ThreeColumns; 7 | -------------------------------------------------------------------------------- /react-bootstrap/two-columns/index.js: -------------------------------------------------------------------------------- 1 | import { TwoColumns } from '../../common'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded ReactBootrap.TwoColumns'); 5 | 6 | export default TwoColumns; 7 | -------------------------------------------------------------------------------- /react-mantine/array/list-array.scss: -------------------------------------------------------------------------------- 1 | .gforms-list-array { 2 | 3 | .gforms-array-item { 4 | display: flex; 5 | flex-direction: row; 6 | flex-wrap: nowrap; 7 | justify-content: flex-start; 8 | align-content: stretch; 9 | align-items: stretch; 10 | margin-top: 5px; 11 | position: relative; 12 | 13 | .rs-form-group { 14 | margin-bottom: 5px !important; 15 | } 16 | 17 | > .inner-form { 18 | order: 0; 19 | flex: 1 0 auto; 20 | align-self: auto; 21 | 22 | .rs-form-inline { 23 | // remove the 300px default size for inline in array, too big 24 | .rs-input, .rs-input-number { 25 | //width: auto; 26 | } 27 | } 28 | } 29 | 30 | > .buttons { 31 | flex: 0 0 auto; 32 | align-self: center; 33 | margin-top: -5px; 34 | } 35 | } 36 | 37 | .gforms-array-item:not(:first-child) { 38 | border-top: 1px solid #eeeeee; 39 | padding-top: 10px; 40 | } 41 | } -------------------------------------------------------------------------------- /react-mantine/button/button.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-mantine { 2 | .lf-control-button { 3 | min-height: 20px; 4 | 5 | .lf-icon { 6 | max-width: 16px; 7 | max-height: 16px; 8 | } 9 | 10 | &.lf-control-button-lg { 11 | .lf-icon { 12 | max-width: 24px; 13 | max-height: 24px; 14 | } 15 | } 16 | 17 | &.lf-control-button-xs { 18 | .lf-icon { 19 | max-width: 16px; 20 | max-height: 16px; 21 | } 22 | } 23 | 24 | &.lf-control-button-sm { 25 | .lf-icon { 26 | max-width: 18px; 27 | max-height: 18px; 28 | } 29 | } 30 | 31 | &.lf-control-button-md { 32 | .lf-icon { 33 | max-width: 20px; 34 | max-height: 20px; 35 | } 36 | } 37 | 38 | &.lf-control-button-xl { 39 | .lf-icon { 40 | max-width: 28px; 41 | max-height: 28px; 42 | } 43 | } 44 | } 45 | } -------------------------------------------------------------------------------- /react-mantine/columns/index.js: -------------------------------------------------------------------------------- 1 | import { Columns } from '../../common/columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export default Columns; 8 | -------------------------------------------------------------------------------- /react-mantine/form/form.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-mantine { 2 | .lf-control-input-number, .lf-control-input-text { 3 | div[data-position="right"] { 4 | .lf-postfix-wrapper { 5 | padding-right: 1em; 6 | } 7 | } 8 | div[data-position="left"] { 9 | .lf-prefix-wrapper { 10 | padding-left: 1em; 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /react-mantine/group/fields-group.scss: -------------------------------------------------------------------------------- 1 | .rsuite5-fields-group { 2 | 3 | .rs-divider-horizontal.rs-divider-with-text { 4 | margin: 15px 0px; 5 | } 6 | 7 | .arrow { 8 | padding: 0px; 9 | .rs-icon { 10 | font-size: 24px; 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /react-mantine/group/index.js: -------------------------------------------------------------------------------- 1 | import { Group } from '../../common/group'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Group'); 6 | 7 | export default Group; 8 | -------------------------------------------------------------------------------- /react-mantine/object/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import LetsForm from '../../react-bootstrap'; 4 | import { CommonObject } from '../../common/object'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const ReactMantineObject = props => ( 8 | 12 | ); 13 | lfLog('Loaded Mantine.Object'); 14 | 15 | export default ReactMantineObject; 16 | -------------------------------------------------------------------------------- /react-mantine/placeholder-image/index.js: -------------------------------------------------------------------------------- 1 | import { PlaceholderImage } from '../../common/placeholder-image'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded Mantine.PlaceholderImage'); 5 | 6 | export default PlaceholderImage; 7 | -------------------------------------------------------------------------------- /react-mantine/placeholder/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Input } from '@mantine/core' 3 | 4 | import { I18N } from '../../components/i18n'; 5 | import { Placeholder } from '../../common/placeholder'; 6 | import { lfLog } from '../../helpers/lf-log'; 7 | import { makeClassName } from '../../helpers/make-class-name'; 8 | 9 | const PlaceholderMantine = I18N( 10 | ({ 11 | name, 12 | label, 13 | hint, 14 | text, 15 | className 16 | }) => { 17 | return ( 18 | 24 | 25 | 26 | ); 27 | }, 28 | ['label', 'hint', 'text'] 29 | ); 30 | lfLog('Loaded Mantine.Placeholder'); 31 | 32 | export default PlaceholderMantine; 33 | -------------------------------------------------------------------------------- /react-mantine/steps/steps.scss: -------------------------------------------------------------------------------- 1 | .lf-control-steps { 2 | .lf-step { 3 | margin-top: var(--lf-field-margin); 4 | margin-bottom: var(--lf-field-margin); 5 | } 6 | 7 | .lf-navigation-buttons.left { 8 | text-align: left; 9 | } 10 | .lf-navigation-buttons.right { 11 | text-align: right; 12 | } 13 | .lf-navigation-buttons.center { 14 | text-align: center; 15 | } 16 | } -------------------------------------------------------------------------------- /react-mantine/tabs/tabs.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-mantine { 2 | .lf-control-tabs { 3 | .lf-prefix-icon { 4 | max-width: 16px; 5 | max-height: 16px; 6 | } 7 | &.orientation-vertical, &.orientation-vertical.placement-left { 8 | .mantine-Tabs-panel { 9 | padding-left: var(--lf-field-column-margin); 10 | } 11 | } 12 | 13 | &.orientation-vertical.placement-right { 14 | .mantine-Tabs-panel { 15 | padding-right: var(--lf-field-column-margin); 16 | } 17 | } 18 | } 19 | } -------------------------------------------------------------------------------- /react-mantine/three-columns/index.js: -------------------------------------------------------------------------------- 1 | import { ThreeColumns } from '../../common/three-columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.ThreeColumns'); 6 | 7 | export default ThreeColumns; 8 | -------------------------------------------------------------------------------- /react-mantine/three-columns/three-columns.scss: -------------------------------------------------------------------------------- 1 | .lf-three-columns { 2 | display: flex; 3 | flex-direction: row; 4 | flex-wrap: wrap; 5 | justify-content: flex-start; 6 | align-content: stretch; 7 | align-items: stretch; 8 | 9 | .left, .right, .center { 10 | .rs-form-control-wrapper { 11 | > .rs-input, > .rs-input-number { 12 | //width: auto; 13 | } 14 | } 15 | } 16 | 17 | .left { 18 | flex: 1 0; 19 | align-self: auto; 20 | margin-right: 5px; 21 | } 22 | 23 | .center { 24 | margin-left: 5px; 25 | margin-right: 5px; 26 | flex: 1 0; 27 | align-self: auto; 28 | } 29 | 30 | .right { 31 | margin-left: 5px; 32 | flex: 1 0; 33 | align-self: auto; 34 | } 35 | } -------------------------------------------------------------------------------- /react-mantine/time/clock.js: -------------------------------------------------------------------------------- 1 | export const ClockIcon = ({ width = 16, height = 16 }) => ( 2 | 3 | 4 | 5 | 6 | ); -------------------------------------------------------------------------------- /react-mantine/two-columns/index.js: -------------------------------------------------------------------------------- 1 | import { TwoColumns } from '../../common/two-columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded Mantine.TwoColumns'); 6 | 7 | export default TwoColumns; 8 | -------------------------------------------------------------------------------- /react-mantine/two-columns/two-columns.scss: -------------------------------------------------------------------------------- 1 | .gforms-two-columns { 2 | display: flex; 3 | flex-direction: row; 4 | flex-wrap: wrap; 5 | justify-content: flex-start; 6 | align-content: stretch; 7 | align-items: stretch; 8 | 9 | .left, .right { 10 | // disable width 300 of text input 11 | .rs-form-control-wrapper { 12 | > .rs-input, > .rs-input-number { 13 | width: auto; 14 | } 15 | } 16 | } 17 | 18 | .left { 19 | flex: 1 0; 20 | align-self: auto; 21 | margin-right: 5px; 22 | } 23 | 24 | .right { 25 | margin-left: 5px; 26 | flex: 1 0; 27 | align-self: auto; 28 | } 29 | } -------------------------------------------------------------------------------- /react-material-ui/array/array.scss: -------------------------------------------------------------------------------- 1 | .lf-form.lf-form-react-material-ui { 2 | .lf-control-common-array { 3 | [class^=lf-control]:not(:last-child) { 4 | margin-bottom: 10px; 5 | } 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /react-material-ui/button/button.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-material-ui { 2 | .lf-control-button { 3 | min-height: 20px; 4 | 5 | .lf-icon { 6 | max-width: 20px; 7 | max-height: 20px; 8 | } 9 | 10 | .MuiButton-sizeLarge { 11 | .lf-icon { 12 | max-width: 22px; 13 | max-height: 22px; 14 | } 15 | } 16 | 17 | .MuiButton-sizeSmall { 18 | .lf-icon { 19 | max-width: 18px; 20 | max-height: 18px; 21 | } 22 | } 23 | 24 | .only-icon { 25 | // remove it if only icon 26 | min-width: inherit; 27 | 28 | .MuiButton-startIcon { 29 | margin-right: 0px !important; 30 | } 31 | 32 | } 33 | 34 | } 35 | } -------------------------------------------------------------------------------- /react-material-ui/columns/index.js: -------------------------------------------------------------------------------- 1 | import { Columns } from '../../common/columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded MUI.Columns'); 6 | 7 | export default Columns; 8 | -------------------------------------------------------------------------------- /react-material-ui/form/index.scss: -------------------------------------------------------------------------------- 1 | .lf-lets-form-edit-mode { 2 | .lf-form-react-material-ui { 3 | // add some margin, not in edit mode 4 | //7> *:not(:first-child) { 5 | // margin-top: -24px; 6 | //} 7 | .form-generator-field-wrapper { 8 | margin-top: 0px; 9 | } 10 | } 11 | } 12 | 13 | .lf-form-react-material-ui { 14 | .lf-toolbar { 15 | margin-top: 15px; // TODO perhaps use form margins 16 | } 17 | 18 | [class^=lf-control]:not(:last-child) { 19 | margin-bottom: var(--lf-field-margin); 20 | } 21 | } 22 | 23 | /*.lf-form-react-material-ui { 24 | &.lf-form-react-material-ui-plaintext { 25 | [class^=lf-control]:not(:last-child) { 26 | margin-bottom: var(--lf-field-margin); 27 | } 28 | } 29 | 30 | }*/ -------------------------------------------------------------------------------- /react-material-ui/group/index.js: -------------------------------------------------------------------------------- 1 | import { Group } from '../../common/group'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded MUI.Group'); 5 | 6 | export default Group; 7 | -------------------------------------------------------------------------------- /react-material-ui/input-text/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | import { I18N } from '../../components'; 4 | import { MuiGenericInput } from '../../components/mui-generic-input'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | // DOC: https://mui.com/material-ui/api/input/ 7 | 8 | const TextInput = I18N( 9 | ({ onChange, ...rest }) => { 10 | 11 | const handleChange = useCallback( 12 | event => { 13 | onChange(event.target.value); 14 | }, 15 | [onChange] 16 | ); 17 | 18 | return ( 19 | 24 | ); 25 | }, 26 | ['label', 'hint', 'placeholder'] 27 | ); 28 | lfLog('Loaded MUI.InputText'); 29 | 30 | export default TextInput; 31 | -------------------------------------------------------------------------------- /react-material-ui/object/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import LetsForm from '../../react-material-ui'; 4 | import { CommonObject } from '../../common/object'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const ReactMUIObject = props => ( 8 | 12 | ); 13 | lfLog('Loaded MUI.Object'); 14 | 15 | export default ReactMUIObject; 16 | -------------------------------------------------------------------------------- /react-material-ui/placeholder-image/index.js: -------------------------------------------------------------------------------- 1 | import { PlaceholderImage } from '../../common/placeholder-image'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded MUI.PlaceholderImage'); 5 | 6 | export default PlaceholderImage; 7 | -------------------------------------------------------------------------------- /react-material-ui/react-view/index.js: -------------------------------------------------------------------------------- 1 | import { ReactView } from '../../common/react-view'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded MUI.ReactView'); 5 | 6 | export default ReactView; 7 | -------------------------------------------------------------------------------- /react-material-ui/select/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | import { I18N } from '../../components/i18n'; 4 | import { MuiGenericSelect } from '../../components/mui-select'; 5 | import { i18nOptions } from '../../helpers/i18n-options'; 6 | import { lfLog } from '../../helpers/lf-log'; 7 | 8 | const MuiSelect = I18N( 9 | ({ 10 | onChange, 11 | value, 12 | ...rest 13 | }) => { 14 | const handleChange = useCallback( 15 | e => onChange(e.target.value), 16 | [onChange] 17 | ); 18 | 19 | return ( 20 | 26 | ); 27 | }, 28 | ['label', 'hint', 'placeholder'], 29 | { 30 | options: i18nOptions 31 | } 32 | ); 33 | lfLog('Loaded MUI.Select'); 34 | 35 | export default MuiSelect; 36 | -------------------------------------------------------------------------------- /react-material-ui/tabs/tabs.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-material-ui { 2 | .lf-control-tabs { 3 | .tab-fields { 4 | padding-top: var(--lf-field-margin); 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-material-ui/textarea/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | import { I18N } from '../../components/i18n'; 4 | import { MuiGenericInput } from '../../components/mui-generic-input'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | // DOC: https://mui.com/material-ui/api/input/ 8 | 9 | const Textarea = I18N( 10 | ({ onChange, ...rest }) => { 11 | 12 | const handleChange = useCallback( 13 | event => { 14 | onChange(event.target.value); 15 | }, 16 | [onChange] 17 | ); 18 | 19 | return ( 20 | 26 | ); 27 | }, 28 | ['label', 'hint', 'placeholder'] 29 | ); 30 | lfLog('Loaded MUI.Textarea'); 31 | 32 | export default Textarea; -------------------------------------------------------------------------------- /react-material-ui/three-columns/index.js: -------------------------------------------------------------------------------- 1 | import { ThreeColumns } from '../../common/three-columns'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded MUI.ThreeColumns'); 5 | 6 | export default ThreeColumns; 7 | -------------------------------------------------------------------------------- /react-material-ui/two-columns/index.js: -------------------------------------------------------------------------------- 1 | import { TwoColumns } from '../../common/two-columns'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded MUI.TwoColumns'); 5 | 6 | export default TwoColumns; 7 | -------------------------------------------------------------------------------- /react-material-ui/upload/index.js: -------------------------------------------------------------------------------- 1 | import Upload from './upload'; 2 | 3 | export default Upload; 4 | -------------------------------------------------------------------------------- /react-rsuite5/array/list-array.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-array { 3 | .array-error-message { 4 | color: #ff6633; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-rsuite5/button/button.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-button { 3 | min-height: 20px; 4 | 5 | .lf-icon { 6 | max-width: 16px; 7 | max-height: 16px; 8 | } 9 | 10 | .rs-btn-lg { 11 | .lf-icon { 12 | max-width: 20px; 13 | max-height: 20px; 14 | } 15 | } 16 | 17 | .rs-btn-xs { 18 | .lf-icon { 19 | max-width: 12px; 20 | max-height: 12px; 21 | } 22 | } 23 | } 24 | } -------------------------------------------------------------------------------- /react-rsuite5/buttons-toggle-group/buttons-toggle-group.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-button-toggle-group { 3 | .rs-form-control-wrapper { 4 | display: block; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-rsuite5/checkbox/index.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-checkbox { 3 | .rs-form-help-text { 4 | align-items: inherit; 5 | margin-top: -1px; 6 | display: inline-block; 7 | margin-left: 5px; 8 | 9 | svg { 10 | margin-top: -2px; 11 | } 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /react-rsuite5/columns/index.js: -------------------------------------------------------------------------------- 1 | import { Columns } from '../../common/columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export default Columns; 8 | -------------------------------------------------------------------------------- /react-rsuite5/divider/index.js: -------------------------------------------------------------------------------- 1 | import { Divider } from '../../common/divider'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Divider'); 6 | 7 | export default Divider; 8 | -------------------------------------------------------------------------------- /react-rsuite5/form/index.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | 3 | // void Rsuite rule that put a margin on last element 4 | &.rs-form:not(.rs-form-inline) .rs-form-group:not(:last-child) { 5 | margin-bottom: unset; 6 | } 7 | 8 | &.rs-form-vertical .rs-form-group .rs-input-group { 9 | width: unset; 10 | } 11 | 12 | /*.lf-buttons { 13 | margin-top: 24px; 14 | }*/ 15 | // makes tooltip inside labels with smaller margins 16 | .rs-form-control-label { 17 | > .rs-form-help-text.rs-form-help-text-tooltip { 18 | margin-top: 0px; 19 | margin-left: 5px; 20 | } 21 | } 22 | 23 | // remove the margin bottom, rule is that elements has a margin-top 24 | //&.rs-form:not(.rs-form-inline) .rs-form-group:not(:last-child) { 25 | // margin-bottom: 0px; 26 | //} 27 | 28 | .lf-full-width { 29 | .rs-form-control-wrapper { 30 | width: 100%; 31 | } 32 | } 33 | 34 | } 35 | -------------------------------------------------------------------------------- /react-rsuite5/group/fields-group.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .rsuite5-fields-group { 3 | 4 | .rs-divider-horizontal.rs-divider-with-text { 5 | margin: 15px 0px; 6 | } 7 | 8 | .arrow { 9 | padding: 0px; 10 | .rs-icon { 11 | font-size: 24px; 12 | } 13 | } 14 | } 15 | } -------------------------------------------------------------------------------- /react-rsuite5/group/index.js: -------------------------------------------------------------------------------- 1 | import { Group } from '../../common/group'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Group'); 6 | 7 | export default Group; 8 | -------------------------------------------------------------------------------- /react-rsuite5/input-number/index.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | // fix: RSuite puts a hardcoded with 300px for grouped input numbers 3 | .lf-control-input-number.rs-form-group { 4 | .rs-input-group { 5 | width: auto; 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /react-rsuite5/input-tag/index.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-input-tag { 3 | .rs-picker-input { 4 | // minimum width, otherwise if empty, the rightmost end is cut 5 | min-width: 120px; 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /react-rsuite5/input-text/input-text.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-input-text { 3 | 4 | .rs-form-control-wrapper>.rs-input, 5 | .rs-form-control-wrapper>.rs-input-number { 6 | width: 100%; 7 | } 8 | 9 | &.lf-full-width { 10 | .rs-input-group { 11 | width: 100%; 12 | } 13 | } 14 | 15 | // this ensure the icon is centered vertically 16 | .lf-prefix-icon { 17 | max-height: 16px; 18 | } 19 | 20 | &.lf-size-lg { 21 | .lf-prefix-icon { 22 | max-height: 22px; 23 | } 24 | } 25 | 26 | &.lf-size-md { 27 | .lf-prefix-icon { 28 | max-height: 16px; 29 | } 30 | } 31 | 32 | &.lf-size-sm { 33 | .lf-prefix-icon { 34 | max-height: 10px; 35 | } 36 | } 37 | 38 | &.lf-size-xs { 39 | .lf-prefix-icon { 40 | max-height: 4px; 41 | } 42 | } 43 | } 44 | } -------------------------------------------------------------------------------- /react-rsuite5/module/index.js: -------------------------------------------------------------------------------- 1 | import React, { useEffect } from 'react'; 2 | 3 | import { ModuleComponent } from '../../common/module'; 4 | import { passRest } from '../../helpers'; 5 | 6 | const RSuite5ModuleComponent = ({ 7 | name, 8 | componentUrl, 9 | onChange, 10 | value, 11 | defaultExport, 12 | exportedKey, 13 | ...rest 14 | }) => { 15 | return ( 16 | 25 | ); 26 | }; 27 | 28 | export default RSuite5ModuleComponent; 29 | -------------------------------------------------------------------------------- /react-rsuite5/object/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import LetsForm from '../../react-rsuite5'; 4 | import { CommonObject } from '../../common/object'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const RSuite5Object = props => ( 8 | 12 | ); 13 | lfLog('Loaded RSuite5.Object'); 14 | 15 | export default RSuite5Object; 16 | -------------------------------------------------------------------------------- /react-rsuite5/placeholder-image/index.js: -------------------------------------------------------------------------------- 1 | import { PlaceholderImage } from '../../common/placeholder-image'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded RSuite5.PlaceholderImage'); 5 | 6 | export default PlaceholderImage; 7 | -------------------------------------------------------------------------------- /react-rsuite5/react-view/index.js: -------------------------------------------------------------------------------- 1 | import { ReactView } from '../../common/react-view'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.ReactView'); 6 | 7 | export default ReactView; 8 | -------------------------------------------------------------------------------- /react-rsuite5/select/select.scss: -------------------------------------------------------------------------------- 1 | 2 | .lf-control-select-option-rsuite5 { 3 | img { 4 | width: 20px; 5 | max-width: 20px; 6 | max-height: 20px; 7 | margin-right: 6px; 8 | margin-top: -4px; 9 | display: inline-block; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /react-rsuite5/slider/index.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-slider { 3 | // give some bottom space to slider, otherwise attached to next label 4 | .rs-slider { 5 | margin-bottom: 40px; 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /react-rsuite5/steps/steps.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-steps { 3 | .lf-step { 4 | margin-top: var(--lf-field-margin); 5 | margin-bottom: var(--lf-field-margin); 6 | } 7 | 8 | .lf-navigation-buttons.left { 9 | text-align: left; 10 | } 11 | .lf-navigation-buttons.right { 12 | text-align: right; 13 | } 14 | .lf-navigation-buttons.center { 15 | text-align: center; 16 | } 17 | } 18 | } -------------------------------------------------------------------------------- /react-rsuite5/tabs/tabs.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-tabs { 3 | .tab-fields { 4 | margin-top: 10px; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react-rsuite5/three-columns/index.js: -------------------------------------------------------------------------------- 1 | import { ThreeColumns } from '../../common/three-columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.ThreeColumns'); 6 | 7 | export default ThreeColumns; 8 | -------------------------------------------------------------------------------- /react-rsuite5/three-columns/three-columns.scss: -------------------------------------------------------------------------------- 1 | .lf-three-columns { 2 | display: flex; 3 | flex-direction: row; 4 | flex-wrap: wrap; 5 | justify-content: flex-start; 6 | align-content: stretch; 7 | align-items: stretch; 8 | 9 | .left, .right, .center { 10 | .rs-form-control-wrapper { 11 | > .rs-input, > .rs-input-number { 12 | //width: auto; 13 | } 14 | } 15 | } 16 | 17 | .left { 18 | flex: 1 0; 19 | align-self: auto; 20 | margin-right: 5px; 21 | } 22 | 23 | .center { 24 | margin-left: 5px; 25 | margin-right: 5px; 26 | flex: 1 0; 27 | align-self: auto; 28 | } 29 | 30 | .right { 31 | margin-left: 5px; 32 | flex: 1 0; 33 | align-self: auto; 34 | } 35 | } -------------------------------------------------------------------------------- /react-rsuite5/two-columns/index.js: -------------------------------------------------------------------------------- 1 | import { TwoColumns } from '../../common/two-columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.TwoColumns'); 6 | 7 | export default TwoColumns; 8 | -------------------------------------------------------------------------------- /react-rsuite5/two-columns/two-columns.scss: -------------------------------------------------------------------------------- 1 | .gforms-two-columns { 2 | display: flex; 3 | flex-direction: row; 4 | flex-wrap: wrap; 5 | justify-content: flex-start; 6 | align-content: stretch; 7 | align-items: stretch; 8 | 9 | .left, .right { 10 | // disable width 300 of text input 11 | .rs-form-control-wrapper { 12 | > .rs-input, > .rs-input-number { 13 | width: auto; 14 | } 15 | } 16 | } 17 | 18 | .left { 19 | flex: 1 0; 20 | align-self: auto; 21 | margin-right: 5px; 22 | } 23 | 24 | .right { 25 | margin-left: 5px; 26 | flex: 1 0; 27 | align-self: auto; 28 | } 29 | } -------------------------------------------------------------------------------- /react-rsuite5/upload/upload.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react-rsuite5 { 2 | .lf-control-upload { 3 | .upload-layout { 4 | display: flex; 5 | flex-direction: row; 6 | flex-wrap: wrap; 7 | justify-content: flex-start; 8 | align-content: stretch; 9 | align-items: center; 10 | 11 | .upload { 12 | order: 0; 13 | flex: 0 0 auto; 14 | align-self: auto; 15 | } 16 | 17 | .hint { 18 | margin-left: var(--lf-field-column-margin); 19 | order: 0; 20 | flex: 1 0 auto; 21 | align-self: auto; 22 | } 23 | } 24 | } 25 | } -------------------------------------------------------------------------------- /react.d.ts: -------------------------------------------------------------------------------- 1 | import { FunctionComponent } from 'react'; 2 | 3 | import { 4 | LfFieldReactProps, 5 | LfColumnsReactProps, 6 | LfColumnReactProps, 7 | LfTabsReactProps, 8 | LfTabReactProps, 9 | LfStepsReactProps, 10 | LfStepReactProps, 11 | LfGroupReactProps, 12 | LfArrayReactProps, 13 | LetsFormReactProps, 14 | LetsFormSchemaReact 15 | } from './definitions/react'; 16 | 17 | declare const LetsForm: FunctionComponent; 18 | export default LetsForm; 19 | 20 | export const LfField: FunctionComponent; 21 | export const LfColumns: FunctionComponent; 22 | export const LfColumn: FunctionComponent; 23 | export const LfTabs: FunctionComponent; 24 | export const LfTab: FunctionComponent; 25 | export const LfSteps: FunctionComponent; 26 | export const LfStep: FunctionComponent; 27 | export const LfGroup: FunctionComponent; 28 | export const LfArray: FunctionComponent; 29 | export { LetsFormSchemaReact }; 30 | -------------------------------------------------------------------------------- /react/array/array.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react { 2 | 3 | .lf-control-common-array-item { 4 | padding-bottom: 5px; 5 | 6 | .lf-control-two-columns:last-child { 7 | margin-bottom: 0px; 8 | } 9 | 10 | .lf-control-three-columns:last-child { 11 | margin-bottom: 0px; 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /react/button/button.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react { 2 | .lf-control-button { 3 | min-height: 20px; 4 | 5 | .lf-icon { 6 | max-width: 20px; 7 | max-height: 20px; 8 | margin-top: -2px; 9 | margin-right: 5px; 10 | } 11 | 12 | .btn-lg { 13 | .lf-icon { 14 | max-width: 24px; 15 | max-height: 24px; 16 | } 17 | } 18 | 19 | .btn-sm { 20 | .lf-icon { 21 | max-width: 16px; 22 | max-height: 16px; 23 | } 24 | } 25 | } 26 | } -------------------------------------------------------------------------------- /react/button/index.js: -------------------------------------------------------------------------------- 1 | import Button from './button'; 2 | 3 | export default Button; -------------------------------------------------------------------------------- /react/checkbox/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | import { ReactGenericCheckbox } from '../../components/react-generic-checkbox'; 4 | import { I18N } from '../../components'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const Checkbox = I18N( 8 | ({ onChange, ...rest }) => { 9 | 10 | const handleChange = useCallback( 11 | e => { 12 | onChange(e.target.checked); 13 | }, 14 | [onChange] 15 | ); 16 | 17 | return ( 18 | 23 | ); 24 | }, 25 | ['hint', 'label'] 26 | ); 27 | lfLog('Loaded React.Checkbox'); 28 | 29 | export default Checkbox; -------------------------------------------------------------------------------- /react/columns/index.js: -------------------------------------------------------------------------------- 1 | import { Columns } from '../../common/columns'; 2 | 3 | import { lfLog } from '../../helpers/lf-log'; 4 | 5 | lfLog('Loaded RSuite5.Columns'); 6 | 7 | export default Columns; 8 | -------------------------------------------------------------------------------- /react/currency/input-text.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react { 2 | .lf-control-input-text { 3 | input[type=color] { 4 | min-width: 60px; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react/date/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | import _ from 'lodash'; 3 | 4 | import { I18N } from '../../components/i18n'; 5 | import { ReactGenericInput } from '../../components/react-generic-input'; 6 | import { lfLog } from '../../helpers/lf-log'; 7 | import { isValidDate } from '../../helpers/is-valid-date'; 8 | 9 | const DateInput = I18N( 10 | ({ onChange, value, ...rest}) => { 11 | 12 | const handleChange = useCallback( 13 | e => onChange(e.target.value), 14 | [onChange] 15 | ); 16 | 17 | let currentDate = value; 18 | if (isValidDate(value)) { 19 | // only take 2023-11-12 20 | currentDate = value.toISOString().split('T')[0]; 21 | } 22 | 23 | return ( 24 | 31 | ); 32 | }, 33 | ['label', 'hint', 'placeholder'] 34 | ); 35 | lfLog('Loaded React.Date'); 36 | 37 | export default DateInput; 38 | -------------------------------------------------------------------------------- /react/group/index.js: -------------------------------------------------------------------------------- 1 | import { Group } from '../../common/group'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded React.Group'); 5 | 6 | export default Group; 7 | -------------------------------------------------------------------------------- /react/input-text/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | import { I18N } from '../../components/i18n'; 4 | import { ReactGenericInput } from '../../components/react-generic-input'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | import './input-text.scss'; 8 | 9 | const TextInput = I18N( 10 | ({ onChange, ...rest}) => { 11 | const handleChange = useCallback( 12 | e => onChange(e.target.value), 13 | [onChange] 14 | ); 15 | 16 | return ( 17 | 22 | ); 23 | }, 24 | ['label', 'hint', 'placeholder'] 25 | ); 26 | lfLog('Loaded React.InputText'); 27 | 28 | export default TextInput; -------------------------------------------------------------------------------- /react/input-text/input-text.scss: -------------------------------------------------------------------------------- 1 | .lf-form-react { 2 | .lf-control-input-text { 3 | input[type=color] { 4 | min-width: 60px; 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /react/object/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import LetsForm from '../../react'; 4 | import { CommonObject } from '../../common/object'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const ReactObject = props => ( 8 | 12 | ); 13 | lfLog('Loaded React.Object'); 14 | 15 | export default ReactObject; 16 | -------------------------------------------------------------------------------- /react/placeholder-image/index.js: -------------------------------------------------------------------------------- 1 | import { PlaceholderImage } from '../../common/placeholder-image'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded React.PlaceholderImage'); 5 | 6 | export default PlaceholderImage; 7 | -------------------------------------------------------------------------------- /react/placeholder/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | import { Placeholder } from '../../common/placeholder'; 4 | import { I18N } from '../../components/i18n'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | import { makeClassName } from '../../helpers/make-class-name'; 7 | 8 | const PlaceholderReact = I18N( 9 | ({ 10 | name, 11 | label, 12 | hint, 13 | text, 14 | className 15 | }) => { 16 | return ( 17 |
18 | {label && ( 19 | 22 | )} 23 | 24 | {hint &&
{hint}
} 25 |
26 | ); 27 | }, 28 | ['label', 'hint', 'text'] 29 | ); 30 | lfLog('Loaded React.Placeholder'); 31 | 32 | export default PlaceholderReact; -------------------------------------------------------------------------------- /react/react-view/index.js: -------------------------------------------------------------------------------- 1 | import { ReactView } from '../../common/react-view'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded React.ReactView'); 5 | 6 | export default ReactView; 7 | -------------------------------------------------------------------------------- /react/three-columns/index.js: -------------------------------------------------------------------------------- 1 | import { ThreeColumns } from '../../common/three-columns'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded React.ThreeColumns'); 5 | 6 | export default ThreeColumns; 7 | -------------------------------------------------------------------------------- /react/toggle/index.js: -------------------------------------------------------------------------------- 1 | import React, { useCallback } from 'react'; 2 | 3 | import { ReactGenericCheckbox } from '../../components/react-generic-checkbox'; 4 | import { I18N } from '../../components'; 5 | import { lfLog } from '../../helpers/lf-log'; 6 | 7 | const Toggle = I18N( 8 | ({ onChange, value, ...rest }) => { 9 | 10 | const handleChange = useCallback( 11 | e => { 12 | onChange(e.target.value === '1' ? true : false); 13 | }, 14 | [onChange] 15 | ); 16 | 17 | return ( 18 | 29 | ); 30 | }, 31 | ['hint', 'label'] 32 | ); 33 | lfLog('Loaded React.Toggle'); 34 | 35 | export default Toggle; 36 | -------------------------------------------------------------------------------- /react/two-columns/index.js: -------------------------------------------------------------------------------- 1 | import { TwoColumns } from '../../common/two-columns'; 2 | import { lfLog } from '../../helpers/lf-log'; 3 | 4 | lfLog('Loaded React.TwoColumns'); 5 | 6 | export default TwoColumns; 7 | -------------------------------------------------------------------------------- /react/upload/index.js: -------------------------------------------------------------------------------- 1 | import Upload from './upload'; 2 | 3 | export default Upload; 4 | -------------------------------------------------------------------------------- /scripts/assets/logo-ext@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/guidone/lets-form/73473f58a07c8b41e6da11e178a1470f1267c37a/scripts/assets/logo-ext@3x.png -------------------------------------------------------------------------------- /scripts/clear-builds.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs/promises'); 2 | 3 | (async () => { 4 | try { 5 | await fs.rm(__dirname + '/../react.js'); 6 | await fs.rm(__dirname + '/../bootstrap.js'); 7 | await fs.rm(__dirname + '/../rsuite5.js'); 8 | await fs.rm(__dirname + '/../bootstrap.js'); 9 | await fs.rm(__dirname + '/../material-ui.js'); 10 | } catch(e) { 11 | // do nothing 12 | } 13 | })(); 14 | -------------------------------------------------------------------------------- /scripts/stash-node-modules.sh: -------------------------------------------------------------------------------- 1 | if [ -d "./node_modules" ] 2 | then 3 | echo "Stashing node_modules in Lets-Form repo" 4 | mv ./node_modules ./node_modules_stashed 5 | fi -------------------------------------------------------------------------------- /scripts/unstash-node-modules.sh: -------------------------------------------------------------------------------- 1 | if [ -d "./node_modules_stashed" ] 2 | then 3 | echo "Unstashing node_modules in Lest-Form repo" 4 | mv ./node_modules_stashed ./node_modules 5 | fi --------------------------------------------------------------------------------